You are on page 1of 22

CHƯƠNG I.

TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1.1. Khai phá dữ liệu


1.1.1. Khái niệm khai phá dữ liệu
Khai  phá  dữ liệu  (Data  Mining)  là  một  khái  niệm ra đời  vào  những
năm cuối của thập kỷ 1980. Nó là quá trình khám phá thông tin ẩn được tìm thấy
trong các cơ sở dữ liệu và có thể xem như là một bước trong quá trình khám phá tri
thức.Data Mininglà giai đoạn quan trọng  nhất trong tiến trình khai phá tri thức từ
cơ sở dữ liệu, các tri thức này hỗ trợ trong việc ra quyết định trong khoa học và
kinh doanh,...
Giáo sư Tom Mitchell [20] đã đưa ra định nghĩa của Khai phá dữ liệu như
sau: “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 một cách tiếp cận ứng dụng
hơn, Tiến sĩ Fayyad [21] đã 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.” hay nói cách khác “Khai phá dữ liệu – Data
Mining là tiến trình khám phá tri thức tiềm ẩn trong các cơ sở dữ liệu. Cụ thể hơn,
đó là tiến trình trích lọc, sản sinh những tri thức hoặc các mẫu tiềm ẩn, chưa biết
nhưng hữu ích từ cơ sở dữ liệu lớn” [2].
Nói 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 [8]–[12]–[15].
Khai phá dữ liệu là tiến trình khái quát các sự kiện rời rạc trong dữ liệu
thành các tri thức mang tính khái quát, tính quy luật hỗ trợ tích cực cho các tiến
trình ra quyết định. Khai phá dữ liệu là việc trích rút tri thức một cách tự động và
hiệu quả từ một khối dữ liệu rất lớn. Tri thức đó thường ở dạng các mẫu tin có tính
chất không tầm thường, không tường minh (ẩn), chưa được biết đến và có tiềm
năng mang lại lợi ích.
Để hình dung vấn đề này ta có thể sử dụng một ví dụ đơn giản như sau: Khai
phá dữ liệu được ví như tìm một cây kim trong đống cỏ khô. Trong ví dụ này, cây
kim là một mảnh nhỏ tri thức hoặc một thông tin có giá trị và đống cỏ khô là một
kho cơ sở dữ liệu rộng lớn. Như vậy, những thông tin có giá trị tiềm ẩn trong kho
cơ sở dữ liệu sẽ được chiết xuất ra và sử dụng một cách hữu ích nhờ khai phá dữ
liệu.
Chức năng khai phá dữ liệu gồm có gộp nhóm phân loại, dự báo, dự đoán và
phân tích các liên kết. Năm 1989, Fayyad, Smyth và Piatestsky-Shapiro đã dùng
khái niệm Phát hiện tri thức từ cơ sở dữ liệu (Knowledge Discovery in Database-
KDD). Trong đó, khai phá dữ liệu là một giai đoạn rất đặc biệt trong toàn bộ quá
trình, nó sử dụng các kỹ thuật để tìm ra các mẫu từ dữ liệu. Có thể coi khai phá dữ
liệu là cốt lõi của quá trình phát hiện tri thức.
Quá trình khai phá dữ liệu sẽ tiến hành qua 6 giai đoạn như hình 1. 1 [7]

Bắt đầu của quá trình là kho dữ liệu thô và kết thúc với tri thức được chiết
xuất ra.Về lý thuyết thì có vẽ rất đơn giản nhưng thực sự đây là một quá trình rất
khó khăn gặp phải rất nhiều vướng mắc như: quản lý các tập dữ liệu, phải lặp đi
lặp lại toàn bộ quá trình, ...
- Lựa chọn (Selection):Ở đoạn này dữ liệu được lựa chọn hoặc phân chia theo
một số tiêu chuẩn nào đó, ví dụ chọn tất cả những người có tuổi đời từ 25–35 và có trình
độ đại học.
- Tiền  xử lý  (Pre-processing): Giai đoạn thứ hai này là giai đoạn  hay  bị
sao  lãng,  nhưng thực tế nó là một bước rất quan trọng trong quá trình khai phá dữ
liệu.Một số 5 lỗi thường mắc phải trong khi gom dữ liệu là tính không đủ chặt chẽ,
logic. Vì vậy, dữ liệu thường chứa các giá trị vô nghĩa và  không có khả năng kết
nối dữ liệu. Ví  dụ:  tuổi = 273. Giai đoạn này sẽ tiến hành xử lý những dạng dữ
liệu không chặt chẽ nói  trên. Những dữ liệu dạng này được xem như thông tin dư
thừa, không  có giá trị. 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 “tiền  xử lý” thì sẽ gây nên những kết quả sai lệch nghiêm trọng.
- Đổi dạng  (Transformation):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ó.Dữ liệu đã được chuyển
đổi phù hợp với mục đích khai thác.
- Khai phá dữ liệu  (Data mining):Đây là bước mang tính tư duy trong khai
phá dữ liệu.Ở 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ự,...
- Trình diễn (Evaluation of Result):Đây là giai đoạn cuối trong quá trình
khai phá dữ liệ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 (Knowledge).
 
1.1.2.Kiến trúc của một hệ thống khai phá dữ liệu
 Máy chủ cơ sở dữ liệu hay máy chủ kho dữ liệu(Database or warehouse
server): Máy chủ này có trách nhiệm lấy dữ liệu thích hợp dựa trên những
yêu cầu khai phá của người dùng
 Cơ sở tri thức(Knowledge base): Đây là miền tri thức được dùng để tìm
kiếm hay đánh giá độ quan trọng của các hình mẫu.
 Máy khai phá dữ liệu(Data mining engine): Một hệ thống khai phá dữ liệu
cần phải có một tập các module chức năng để thực hiện công việc, chẳng
hạn như đặc trưng hóa, kết hợp, phân lớp, phân cụm, phân tích sự tiến hóa,...
 Module đánh giá mẫu(Pattern evaluation): Bộ phận này tương tác với các
module khai phá dữ liệu để tập trung vào công việc duyệt tìm các mẫu đáng
được quan tâm. Cũng có thể module đánh giá mẫu được tích hợp vào
module khai phá tùy theo sự cài đặt của phương pháp khai phá được dùng.
 Giao diện đồ họa cho người dùng(Graphical user interface): Thông qua giao
diện này, người dùng tương tác với hệ thống bằng cách đặc tả một yêu cầu
khai phái hay một nhiệm vụ, cung cấp thông tin trợ giúp cho việc tìm kiếm
và khai phá thăm dò trên các kết quả khai phá trung gian.
Hình 1.2. Kiến trúc của một hệ thống khai phá dữ liệu.

1.1.3. Một số kỹ thuật khai phá dữ liệu


Các kỹ thuật khai phá dữ liệu thường được chia thành 2 nhóm chính[12]:
 Kỹ thuật khai phá dữ liệu mô tả: có nhiệm vụ mô tả về các tính chất hoặc
các đặc tính chung của dữ liệu trong CSDL hiện có. Các kỹ thuật này gồm
có: phân cụm(clustering), tóm tắt (summarization), trực quan hóa
(visualization), phân tích sự phát triển và độ lệch (Evolution and deviation
analysis), phát hiện luật kết hợp (association rules),...
 Kỹ thuật khai phá dữ liệu dự đoán: 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. Các kỹ thuật này gồm có : phân lớp
(classification), hồi quy (regression),...
Tuy nhiên, do khuôn khổ có hạn nên tôi chỉ giới thiệu 3 phương pháp thông dụng
nhất là: phân lớp dữ liệu, phân cụm dữ liệu và khai phá luật kết hợp.

1.1.3.1.Phân lớp
Phân lớp dữ liệu(Classification) là chia các đối tượng dữ liệu thành các lớp
dựa trên các đặc trưng của tập dữ liệu. Với một tập các dữ liệu huấn luyện cho
trước và huấn luyện của con người, các giải thuật phân loại sẽ học ra bộ phân loại
(classifier) dùng để phân các dữ liệu mới vào một trong những lớp (còn gọi là loại)
đã được xác định trước. Phương pháp này rất có ích trong giai đoạn đầu của quá
trình nghiên cứu khi ta biết rất ít về đối tượng cần nghiên cứu, nó là tiền đề để tiến
hành các phương pháp phát hiện tri thức. Có nhiều phương pháp phân lớp: phân
lớp dựa trên cây quyết định, phân lớp Bayesian,... Quá trình phân lớp dữ liệu
thường gồm hai bước [12]:
 Bước 1: Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu có
sẵn. 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 phân lớp. Các mẫu dữ liệu này còn được gọi là
dữ liệu huấn luyện (training dataset). Nhãn lớp của tập dữ liệu huấn
luyện phải được xác định trước khi xây dựng mô hình, vì vậy phương
pháp này còn được gọi là học có giám sát(supervised learning).
 Bước 2: Sử dụng mô hình để phân lớp dữ liệu. Chúng ta phải tính độ
chính xác của mô hình, Nếu độ chính xác là chấp nhận được thì mô
hình sẽ được sử dụng để dự đoán lớp cho các mẫu dữ liệu khác trong
tương lai.

1.1.3.2. Phân cụm
Phân cụm (Clustering) là việc nhóm các đối tượng dữ liệu thành các lớp đối
tượng có sự tương tự nhau dựa trên các thuộc tính của chúng. Mỗi lớp đối tượng
được gọi là một cụm (cluster). Một cụm bao gồm các đối tượng mà giữa bản thân
chúng có sự ràng buộc lẫn nhau và khác biệt so với các lớp đối tượng khác. Phân
cụm dữ liệu là một ví dụ của phương pháp học không có giám sát (unsupervised
learning). 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
(learning by observation), trong khi phân lớp dữ liệu là học qua ví dụ (learning by
example). Trong phương pháp này ta không thể biết kết quả các cụm thu được sẽ
như thế nào khi bắt đầu quá trình. Các cụm có thể tách riêng hay phân cấp hoặc gối
lên nhau, có nghĩa là một mục dữ liệu có thể vừa thuộc cụm này vừa thuộc cụm
kia. Vì vậy, thông thường cần có một chuyên gia về lĩnh vực đó để đánh giá các
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 loại khách hàng, nhận dạng mẫu, phân loại trang Web, … Ngoài ra,
phân cụm còn đượ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

1.1.3.3. Luật kết hợp


Phương pháp phát triển các luật kết hợp (Association Rules) nhằm phát hiện
ra các luật kết hợp giữa các mối liên kết giữa các phần tử dữ liệu[4]. Các giải thuật
tìm luật liên kết tìm kiếm các mối liên kết giữa các phần tử dữ liệu, ví dụ như
nhóm các món hàng thường được mua kèm với nhau trong siêu thị. Đầu ra của
thuật toán là tập luật kết hợp tìm được. Cho trước một tập các giao tác, trong đó
mỗi giao tác là một tập các mục, tìm sự tương quan giữa các mục như là một luật
và kết quả của giải thuật khai phá dữ liệu là tập luật kết hợp tìm được. Luật kết hợp
thường có dạng X => Y. Trong đó: X là tiền đề, Y là hệ quả(X,Y là hai tập của
mục). Ý nghĩa trực quan của luật là các giao tác của cơ sở dữ liệu mà trong đó nội
dung X có khuynh hướng đến nội dung Y.
Có hai thông số quan trọng của luật kết hợp là độ hỗ trợ (support) và độ tin
cậy (confidence). Độ hỗ trợ và độ tin cậy là hai độ của sự đáng quan tâm của luật.
Chúng tương ứng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá. Khai
phá các luật kết hợp từ cơ sở dữ liệu và việc tìm các luật kết hợp từ cơ sở dữ liệu là
việc tìm các luật có độ hỗ trợ và độ tin cậy lớn hơn ngưỡng mà các người dùng xác
định trước.
Ví dụ: Phân tích giỏ hàng của người mua hàng trong một siêu thị ta thu được
luật:”68% khách hàng mua sữa thì cũng mua bánh mì, 21% mua cả hai thứ. Trong
ví dụ trên thì 68% là độ tin cậy của luật (số phần trăm giao dịch thỏa mãn vế trái
thì thỏa mãn vế phải), 21% là độ hỗ trợ (số phần trăm giao dịch thỏa mãn cả hai vế
trái và phải).

Hình 1.3. Mô tả luật kết hợp.

Luật kết hợp mang lại những thông tin vô cùng quan trọng, nó hỗ trợ không
nhỏ trong quá trình ra quyết định. Phương pháp này được sử dụng rất nhiều trong
các lĩnh vực như marketing có chủ đích, phân tích thị trường, quản lý kinh doanh,
… Khai phá luật kết hợp được thực hiện qua hai bước:
- Bước 1: tìm tất cả các tập mục phổ biến, một tập mục phổ biến
được xác định thông qua việc tính độ hỗ trợ và thỏa mãn độ hỗ trợ
cực tiểu.
- Bước 2: sinh ra các luật kết hợp mạnh từ các tập mục phổ biến, các
luật này phải thỏa mãn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu.
Phương pháp này được sử dụng rất hiệu quả trong các lĩnh vực như
marketing có chủ đích, phân tích quyết định, quản lí kinh doanh, phân tích thị
trường,…
1.1.4. Lựa chọn phương pháp khai phá dữ liệu
Cấu trúc của thuật toán khai phá dữ liệu có ba thành phần chính sau: biểu
diễn mô hình, đánh giá mô hình và phương pháp tìm kiếm.
- Biểu diễn mô hình: Mô hình được biểu diễn bằng ngôn ngữ L nào đó
để mô tả các mẫu có thể khai phá được. Nếu việc biểu diễn mô hình hạn chế
thì không có thời gian học tập hoặc không có các mẫu để tạo ra mô hình
chính xác cho dữ liệu. Người phân tích dữ liệu cần phải hiểu đầy đủ các giả
thiết mô tả, người thiết kế thuật toán phải diễn tả được giả thiết mô tả nào
được tạo ra bởi thuật toán nào một cách rõ ràng.
-  Đánh giá mô hình: Đánh giá xem mẫu có đáp ứng được các tiêu
chuẩn của quá trình phát hiện tri thức hay không. Đánh giá độ chính xác dự
đoán dựa trên đánh giá chéo.
- Phương pháp tìm kiếm:
+ Tìm kiếm tham số: Các thuật toán tìm kiếm các tham số để tối
ưu hoá các tiêu chuẩn đánh giá mô hình với dữ liệu quan sát được và
với một biểu diễn mô hình đã định.
+ Tìm kiếm mô hình: Giống như một vòng lặp qua phương
pháp tìm kiếm tham số, biểu diễn mô hình bị thay đổi tạo nên họ các
mô hình. Với một biểu diễn mô hình, phương pháp tìm kiếm tham số
được áp dụng để đánh giá chất lượng mô hình.
Hiện nay, người ta chưa đưa ra được một tiêu chuẩn nào trong việc quyết
định sử dụng phương pháp nào vào trong trường hợp nào thì có hiệu quả, có nhiều
kỹ thuật và mỗi kỹ thuật được sử dụng cho nhiều bài toán khác nhau. Các thuật
toán khai phá dữ liệu tự động chỉ đang ở giai đoạn phát triển ban đầu, các kỹ thuật
khai phá dữ liệu còn mới với lĩnh vực kinh doanh. Rõ ràng là để trả lời câu hỏi
“khai phá dữ liệu dùng kỹ thuật nào là tốt?” thật không đơn giản vì mỗi phương
pháp thì có điểm mạnh và điểm yếu riêng, thậm chí chúng ta còn phải kết hợp các
phương pháp trong quá trình khai phá.
1.2. Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu được vận dụng trong nhiều lĩnh vực khác nhau nhằm khai
thác nguồn dữ liệu phong phú được lưu trữ trong các hệ thống thông tin. Tùy theo
bản chất của từng lĩnh vực, việc vận dụng khai phá dữ liệu có những cách tiếp cận
khác nhau.
Ngân hàng: Xây dựng mô hình dự báo rủi ro tín dụng. Tìm kiếm tri thức,
quy luật của thị trường chứng khoán và đầu tư bất động sản.
Thương mại điện tử: Tìm hiểu, định hướng thúc đẩy, giao tiếp với khách
hàng. Phân tích hành vi mua sắm trên mạng và cho biết thông tin tiếp thị phù hợp
với nhiều loại khách hàng.
Marketing: Phân tích nhu cầu khách hàng dựa trên mẫu dữ liệu mua bán
hàng từ đó xác định chiến lược kinh doanh, quảng cáo, kế hoạch sản xuất, …
Khai phá dữ liệu cũng được vận dụng hiệu quả để giải quyết các bài toán
phức tạp trong các ngành đòi hỏi kỹ thuật cao [11], như tìm kiếm mỏ dầu từ ảnh
viễn thám, cảnh báo hỏng hóc trong các hệ thống sản xuất, … Các kỹ thuật Khai
phá dữ liệu đã được áp dụng thành công trong việc dự đoán tải sử dụng điện năng
cho các công ty cung cấp điện, lưu lượng viễn thông cho các công ty điện thoại,
mức độ tiêu thụ sản phẩm cho các nhà sản xuất, giá trị của sản phẩm trên thị
trường cho các công ty tài chính, …
Ngoài ra, Khai phá dữ liệu còn được áp dụng cho các vấn đề xã hội như
phân tích các kết quả phòng chống và điều trị một số loại bệnh, phân tích tác hại
của ma tuý, phát hiện tội phạm hay tăng cường an ninh xã hội, ... Việc vận dụng
thành công đã mang lại những hiệu quả thiết thực cho các hoạt động diễn ra hàng
ngày trong đời sống.
1. 3. Một số khó khăn trong khai phá dữ liệu
- Cơ sở dữ liệu lớn: Các tập dữ liệu cần xử lý trong khai phá dữ liệu thường
có kích thước cực kỳ lớn về cả số lượng các bản ghi và số lượng các thuộc tính.
Trong thực tế, kích thước của các tập dữ liệu trong khai phá dữ liệu thường ở mức
tera-byte (hàng ngàn giga-byte). Với kích thước như thế, thời gian xử lý thường
cực kỳ dài. Mặc dù kích thước bộ nhớ trong của máy tính đã gia tăng đáng kể trong
thời gian gần đây, việc gia tăng này cũng không thể đáp ứng kịp với việc tăng kích
thước dữ liệu. Vì vậy, việc vận dụng các kỹ thuật xác suất, lấy mẫu, đệm, song
song, …vào các giải thuật để tạo ra các phiên bản phù hợp với yêu cầu của khai
phá dữ liệu trở nên ngày càng quan trọng.
- Dữ liệu thiếu và nhiễu: Mức độ nhiễu cao trong dữ liệu điều này dẫn đến
việc dự đoán thiếu chính xác.
- Vấn đề “quá phù hợp” (Overfitting): Khi thuật toán khai phá tìm kiếm với
các tham số tốt nhất cho một mô hình đặc biệt và một giới hạn của tập dữ liệu. Mô
hình đó có thể “Quá phù hợp” trên tập dữ liệu đó nhưng lại thi hành không chính
xác trên tập dữ liệu kiểm tra.
- Sự thay đổi của dữ liệu và tri thức: Dữ liệu là không tĩnh, dữ liệu thay đổi
nhanh chóng có thể dẫn đến những tri thức đã khai phá trước đây trở nên không
còn phù hợp thậm chí là vô giá trị.
- Đánh giá các mẫu dữ liệu tìm được: Nhiều mẫu phát hiện không thực sự
hữu ích với người sử dụng và thách thức với các hệ khai phá dữ liệu.
- Làm việc với các dữ liệu quan hệ phức tạp: Do các hệ cơ sở dữ liệu quan
hệ được sử dụng rộng rãi nên vấn đề làm tốt với các hệ cơ sở dữ liệu này là vấn đề
cần quan tâm đối với các hệ khai phá dữ liệu.
- Khai phá thông tin trong các hệ cơ sở dữ liệu hỗn hợp và hệ thống thông
tin toàn cầu: Với sự ra đời của mạng máy tính, dữ liệu có thể được thu thập từ
nhiều nguồn khác nhau với định dạng khác nhau với số lượng rất lớn. Việc phát
hiện tri thức từ các dạng dữ liệu hỗn hợp này là một thách thức đối với khai phá dữ
liệu.
1. 4. Kết luận chương 1
Khai phá dữ liệu là sự vận dụng học thuật vào các vấn đề thiết thực đang
diễn ra. Khai phá dữ liệu là tiến trình khái quát các sự kiện rời rạc trong dữ liệu
thành các tri thức mang tính khái quát, tính quy luật, hỗ trợ tích cực cho việc ra
quyết định. Nghiên cứu nhằm xây dựng và cải thiện các kỹ thuật trong khai phá dữ
liệu là một lĩnh vực hứa hẹn và phù hợp với điều kiện nghiên cứu ở Việt Nam.
Khai phá dữ liệu là một ngành khá non trẻ, các kỹ thuật của ngành còn chưa có khả
năng giải quyết hiệu quả tốt các bài toán thực tế. Việc nghiên cứu cải thiện các giải
thuật nhằm đưa ra các kỹ thuật mới là một khả năng có thể thực hiện trong môi
trường làm việc còn thiếu thốn ở Việt Nam. Một số hướng nghiên cứu về lý thuyết
trong khai phá dữ liệu đang được nghiên cứu hiện nay: Áp dụng các chiến lược để
cải thiện hiệu quả các giải thuật. Phát triển các phiên bản mới của các giải thuật có
khả năng giải quyết các tập dữ liệu lớn bằng kỹ thuật sử dụng bộ đệm. Song song
và phân bố các giải thuật trong khai phá dữ liệu để tận dụng khả năng tính toán
mạnh của tính toán lưới, ...
Chương 2. TỔNG QUAN VỀ KHAI PHÁ
DỮ LIỆU WEB
1.1. GIỚI THIỆU VỀ KHAI PHÁ DỮ LIỆU
(DATAMING) VÀ KDD
1.1.1. Tại sao lại cần khai phá dữ liệu (datamining)
Khoảng hơn một thập kỷ trở lại đây, lượng thông tin được lưu trữ trên các
thiết bị điện tử (đĩa cứng, CD-ROM, băng từ, .v.v.) không ngừng tăng lên. Sự tích
lũy dữ liệu này xảy ra với một tốc độ bùng nổ. Người ta ước đoán rằng lượng
thông tin trên toàn cầu tăng gấp đôi sau khoảng hai năm và theo đó số lượng cũng
như kích cỡ của các cơ sở dữ liệu (CSDL) cũng tăng lên một cách nhanh chóng.
Nói một cách hình ảnh là chúng ta đang “ngập” trong dữ liệu nhưng lại “đói” tri
thức. Câu hỏi đặt ra là liệu chúng ta có thể khai thác được gì từ những “núi” dữ
liệu tưởng chừng như “bỏ đi” ấy không ?
“Necessity is the mother of invention” - Data Mining ra đời như một hướng
giải quyết hữu hiệu cho câu hỏi vừa đặt ra ở trên []. Khá nhiều định nghĩa về Data
Mining và sẽ được đề cập ở phần sau, tuy nhiên có thể tạm hiểu rằng Data Mining
như là một công nghệ tri thức giúp khai thác những thông tin hữu ích từ những kho
dữ liệu được tích trữ trong suốt quá trình hoạt động của một công ty, tổ chức nào
đó.

1.1.2. Khai phá dữ liệu là gì?


Khai phá dữ liệu (datamining) được định nghĩa như là một quá trình chắt lọc
hay khai phá tri thức từ một lượng lớn dữ liệu. Một ví dụ hay được sử dụng là là
việc khai thác vàng từ đá và cát, Dataming đượ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. Thuật ngữ Dataming ám 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ô. Có
nhiều thuật ngữ hiện được dùng cũng có nghĩa tương tự với từ Datamining 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 archaeoloogy (khảo cổ dữ liệu),
datadredging(nạo vét dữ liệu),...
Định nghĩa: Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự
động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp
dữ liệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ
liệu đó. Khai phá dữ liệu là một bước trong bảy bước của quá trình KDD
(Knowleadge Discovery in Database) và KDD được xem như 7 quá trình khác
nhau theo thứ tự sau:
1. Làm sạch dữ liệu (data cleaning & preprocessing)s: 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: (data integration): quá trình hợp nhất dữ liệu thành
những kho dữ liệu (data warehouses & data marts) sau khi đã làm sạch và tiền xử
lý (data cleaning & preprocessing).
3. Trích chọn dữ liệu (data selection): trích chọn dữ liệu từ những kho dữ
liệu và sau đó chuyển đổi về dạng thích hợp cho quá trình khai thác tri thức. Quá
trình này bao gồm cả việc xử lý với dữ liệu nhiễu (noisy data), dữ liệu không đầy
đủ (incomplete data), .v.v.
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 quá trình xử lý
5. Khai phá dữ liệu(data mining): Là một trong các bước quan trọng nhất,
trong đó sử dụng những phương pháp thông minh để chắt lọc ra những mẫu dữ
liệu.
6. Ước lượng mẫu (knowledge evaluation): Quá trình đá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 (knowledge presentation): Quá trình này sử dụng các kỹ
thuật để biểu diễn và thể hiện trực quan cho người dùng.

1.1.3. Các chức năng chính của khai phá dữ liệu


Data Mining được chia nhỏ thành một số hướng chính như sau:
• Mô tả khái niệm (concept description): thiên về mô tả, tổng hợp và tóm
tắt khái niệm. Ví dụ: tóm tắt văn bản.
• Luật kết hợp (association rules): là dạng luật biểu diễn tri thứ ở dạng khá
đơn giản. Ví dụ: “60 % nam giới vào siêu thị nếu mua bia thì có tới 80% trong số
họ sẽ mua thêm thịt bò khô”. Luật kết hợp được ứng dụng nhiều trong lĩnh vực
kính doanh, y học, tin-sinh, tài chính & thị trường chứng khoán, .v.v.
• Phân lớp và dự đoán (classification & prediction): xếp một đối tượng
vào một trong những lớp đã biết trước. Ví dụ: phân lớp vùng địa lý theo dữ liệu
thời tiết. Hướng tiếp cận này thường sử dụng một số kỹ thuật của machine learning
như cây quyết định (decision tree), mạng nơ ron nhân tạo (neural network), .v.v.
Người ta còn gọi phân lớp là học có giám sát (học có thầy).
• Phân cụm (clustering): xếp các đối tượng theo từng cụm (số lượng cũng
như tên của cụm chưa được biết trước. Người ta còn gọi phân cụm là học không
giám sát (học không thầy).
• Khai phá chuỗi (sequential/temporal patterns): tương tự như khai phá
luật kết hợp nhưng có thêm tính thứ tự và tính thời gian. Hướng tiếp cận này được
ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự
báo cao.

1.1.4. Ứng dụng của khai phá dữ liệu


Data Mining tuy là một hướng tiếp cận mới nhưng thu hút được rất nhiều sự
quan tâm của các nhà nghiên cứu và phát triển nhờ vào những ứng dụng thực tiễn
của nó. Chúng ta có thể liệt kê ra đây một số ứng dụng điển hình:
• Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision
• Điều trị y học (medical treatment)
• Text mining & Web mining
• Tin-sinh (bio-informatics)
• Tài chính và thị trường chứng khoán (finance & stock market)• Bảo hiểm
(insurance)
• Nhận dạng (pattern recognition)

1.2. CƠ SỞ SỮ LIỆU HYPERTEXT VÀ FULLTEXT


1.2.1. Cơ sở dữ liệu FullText
Dữ liệu dạng FullText là một dạng dữ liệu phi cấu trúc với thông tin chỉ gồm
các tại liệu dạng Text. Mỗi tài liệu chứa thông tin về một vấn đề nào đó thể hiện
qua nội dung của tất cả các từ cấu thành tài liệu đó. Ý nghĩa của mỗi từ trong tài
liệu khkông cố định mà tuỳ thuộc vào từng ngữ cảnh khác nhau sẽ mang ý nghĩa
khác nhau. Các từ trong tài liệu được liên kết với nhau theo một ngôn ngữ nào đó.
Trong các dữ liệu hiện nay thì văn bản là một trong những dữ liệu phổ biến
nhất, nó có mặt ở khắp mọi nơi và chúng ta thường xuyên bắt gặp do đó các bài
toán về xử lý văn bản đã được đặt ra khá lâu và hiện nay vẫn là một trong những
vấn đề trong khai phá dữ liệu Text, trong đó có những bài toán đáng chú ý như tìm
kiếm văn bản, phân loại văn bản, phân cụm văn bản hoặc dẫn đường văn bản
CSDL full_text là một dạng CSDL phi cấu trúc mà dữ liệu bao gồm các tài
liệu và thuộc tính của tài liệu. Cơ sở dữ liệu Full_Text thường được tổ chức như
môt tổ hợp của hai thành phần: Một CSDL có cấu trúc thông thường (chứa đặc
điểm của các tài liệu) và các tài liệu

Nội dung cuả tài liệu được lưu trữ gián tiếp trong CSDL theo nghĩa hệ thống
chỉ quản lý địa chỉ lưu trữ nội dung.
Cơ sở dữ liệu dạng Text có thể chia làm hai loại sau:
Dạng không có cấu trúc (unstructured): Những văn bản thông thường mà
chúng ta thường đọc hàng ngày được thể hiện dưới dạng tự nhiên của con người và
nókhông có một cấu trúc định dạng nào. VD: Tập hợp sách, Tạp chí, Bài viết được
quản lý trong một mạng thư viện điện tử.
Dạng nửa cấu trúc (semi-structured): Những văn bản được tổ chức dưới
dạng cấu trúc không chặt chẽ như bản ghi các ký hiệu đánh dấu văn bản và vẫn thể
hiện được nội dung chính của văn bản, ví dụ như các dạnh HTML, email,...

Tuy nhiên việc phân làm hai loại cũng không thật rõ ràng, trong các hệ phần
mềm, người ta thường phải sử dụng các phần kết hợp lại để thành một hệ như trong
các  hệ tìm tin (Search Engine), hoặc trong bài toán tìm kiếm văn bản (Text
Retrieval), một trong những lĩnh vực qua tâm nhất hiện nay. Chẳng hạn trong hệ
tìm kiếm như Yahoo, Altavista, Google... đều tổ chức dữ liệu theo các nhóm và thư
mục, mỗi nhóm lại có thể có nhiều nhóm con nằm trong đó. Hệ Altavista còn tích
hợp thêm chương trình dịch tự động có thể dịch chuyển đổi sang nhiều thứ tiếng
khác nhau và cho kết quả khá tốt.
1.2.2. Cơ sở dữ liệu HyperText
Theo từ điển của Đại học Oxford (Oxford English Dictionary Additions
Series) thì Hypertext được định nghĩa như sau: Đó là loại Text không phải đọc theo
dạng liên tục đơn, nó có thể được đọc theo các thứ tự khác nhau, đặc biệt là Text
và ảnh đồ họa (Graphic) là các dạng có mối liên kết với nhau theo cách mà người
đọc có thể không cần đọc một cách liên tục. Ví dụ khi đọc một cuốn sách người
đọc không phải đọc lần lượt từng trang từ đầu đến cuối mà có thể nhảy cóc đến các
đoạn sau để tham khảo về các vấn đề họ quan tâm.

Như vậy văn bản HyperText bao gồm dạng chữ viết không liên tục, chúng
được phân nhánh và cho phép người đọc có thể chọn cách đọc theo ý muốn của
mình. Hiểu theo nghĩa thông thường thì HyperText là một tập các trang chữ viết
được kết nối với nhau bởi các liên kết và cho phép người đọc có thể đọc theo các
cách khác nhau. Như ta đã làm quen nhiều với các trang định dạng HTML, trong
các trang có những liên kết trỏ tới từng phần khác nhau của trang đó hoặc trỏ tới
trang khác, và người đọc sẽ đọc văn bản dựa vào những liên kết đó.

Bên cạnh đó, HyperText cũng là một dạng văn bản Text đặc biệt nên cũng
có thể bao gồm các chữ viết liên tục (là dạng phổ biến nhất của chữ viết). Do
không bị hạn chế bởi tính liên tục trong HyperText, chúng ta có thể tạo ra các dạng
trình bày mới, do đó tài liệu sẽ phản ánh tốt hơn nội dung muốn diễn đạt. Hơn nữa
người đọc có thể chọn cho mình một cách đọc phù hợp chẳng hạn như đi sâu vào
một vấn đề mà họ quan tâm. Sáng kiến tạo ra một tậpc cá văn bản cùng với các con
trỏ trỏ tới các văn bản khác để liên kết một tập các văn bản có mối quan hệ voiứ
nhau với nhau là một cách thực sự hay và rất hữu ích để tổ chức thông tin. Với
người viết, cách này cho phép họ có thể thoải mái loại bỏ những băn khoăn về thứ
tự trình bày, mà có thể tổ chức vấn đề thành những phần nhỏ, rồi sử dụng kết nối
để chỉ ra mối liên hệ giữa các phần nhỏ đó với nhau.

Với người đọc cách này cho phép họ có thể đi tắt trên mạng thông tin và
quyết định phần thông tin nào có liên quan đến vấn đề mà họ quan tâm để tiêp tục
tìm hiểu. So sánh với cách đọc tuyến tính, tức là đọc lần lượt thì HyperText đã
cung cấp cho chúng ta một giao diện để có thể tiếp xúc với nội dung thông tin hiệu
quả hơn rất nhiều. Theo khía cạnh của các thuật toán học máy thì HyperText đã
cung cấp cho chúng ta cơ hội nhìn ra ngoài phạm vi một tài liệu để phân lớp nó,
nghĩa là có tính cả đến các tài liệu có liên kết với nó. Tất nhiên không phải tất cả
các tài liệu có liên kết đến nó đều có ích cho việc phân lớp, đặc biệt là khi các siêu
liên kết có thể chỉ đến rất nhiều loại các tài liệu khác nhau. Nhưng chắc chắn vẫn
còn tồni tại tiềm năng mà con người cần tiếp tục nghiên cứu về việc sử dụng các
tài liệu liên kết đến một trang để nâng cao độ chính xác phân lớp trang đó.
Có hai khái niệm về HyperText mà chúng ta cần quan tâm:
Hypertext Document (Tài liệu siêu văn bản): Là một tài liệu văn bản đơn
trong hệ thống siêu văn bản. Nếu tưởng tượng hệ thống siêu văn bản là một đồ thị,
thì các tài liệu tương ứng với các nút. Hypertext Link (Liên kết siêu văn bản): Là
một tham chiếu để nối một tài liệu HyperText này với một tài liệu HyperText khác.
Các siêu liên kết đóng vai trò như những đường nối trong đồ thị nói trên.
HyperText là loại dữ liệu phổ biến hiện nay, và cũng là loại dữ liệu có nhu cầu tìm
kiếm và phân lớp rấ lớn. Nó là dữ liệu phổ biến trên mạng thông tin Internet CSDL
HyperText với văn bản dạng “nửa cấu trúc” do xuất hiện thêm các “thẻ “: Thẻ cấu
trúc (tiêu đề, mở đầu, nội dung), thẻ nhấn trình bày chữ (đậm, nghiêng,...). Nhờ các
thẻ này mà chúng ta có thêm một tiêu chuẩn (so với tài liệu fulltext) để có thể tìm
kiếm và phân lớp chúng. Dựa vào các thẻ đã quy định trước chúng ta có thể phân
thành các độ ưu tiên khác nhaucho các từ khóa nếu chúng xuất hiện ở những vị trí
khác nhau. Ví dụ khi tìm kiếm các tài liệu có nội dung liên quan đến “people “ thì
chúng ta đưa từ khóa tìm kiếm là “people”, và các tài liệu có từ khóa “poeple”
đứng ở tiêu đề thì sẽ gần với yêu cầu tìm kiếm hơn.

So sánh đặc điểm của dữ liệu Fulltext và dữ liệu trang web


Mặc dù trang Web là một dang đặc biệt của dữ liệu FullText, nhưng có
nhiều điểm khác nhau giữa hai loại dữ liệu này. Một số nhận xét sau đây cho thấy
sự khác nhau giữa dữ liệu Web và FullText. Sự khác nhau về đặc điểm là nguyên
nhân chính dẫn đến sự khác nhau trong khai phá hai loại dữ liệu này (phân lớp, tìm
kiếm,...).Một số đối sánh dưới đây về đặc điểm giữa dữ liệu Fulltext với dữ liệu
trang đã được trình bày trong [2].

ST Trang Web Văn bản thông thường (Fulltext)


T
1 Là dạng văn bản “nửa cấu trúc”. Văn bản thường là dạng văn bản
Trong nội dung có phần tiêu đề và “phi
có các thẻ nhấn mạnh ý nghĩa của từ cấu trúc”. Trong nội dung của nó
hoặc cụm từ không có một tiêu chuẩn nào cho
ta
dựa vào đó để đánh giá

2 Nội dung của các trang Web thường Nội dung của các văn bản thông
được mô tả ngắn gọn, cô đọng, có thường thường rất chi tiết và đầy
các siêu liên kết chỉ ra đủ
cho người đọc đến những nơikhác
có nội dung liên quan
3 Trong nội dung các trang Web các Các trang văn bản thông thường
siêu liên kết cho phép liên kết các khôn liên kết được đến nội dung
trang có nội dung liênvới nhau của các  trang khác

1.3. KHAI PHÁ DỮ LIỆU VĂN BẢN (TEXTMINING) VÀ KHAI PHÁ DỮ

LIỆU WEB (WEBMINING)


Như đã đề cập ở trên, TextMining (Khai phá dữ liệu văn bản) và
WebMining (Khai phá dữ liệu Web) là một trong những ứng dụng quan trọng của
Datamining. Trong phần này ta sẽ đi sâu hơn vào bài toán này.

1.3.1. Các bài toán trong khai phá dữ liệu văn bản
1. Tìm kiếm văn bản
a. Nội dung
Tìm kiếm văn bản là quá trình tìm kiếm văn bản theo yêu cầu của người
dùng. Các yêu cầu được thể hiện dưới dạng các câu hỏi (query), dạng câu hỏi đơn
giản nhất là các từ khóa. Có thể hình dung hệ tìm kiếm văn bản sắp xếp văn bản
thành hai lớp: Một lớp cho ra những các văn bản thỏa mãn với câu hỏi đưa ra và
một lớp không hiển thị những văn bản không được thỏa mãn. Các hệ thống thực tế
hiện nay không hiển thịnhư vậy mà đưa ra các danh sách văn bản theo độ quan
trọng của văn bản tuỳ theo các câu hỏi đưa vào, ví dụ điển hình là các máy tìm tin
như Google, Altavista,...
b. Quá trình
Quá trình tìm tin được chia thành bốn quá trình chính :
Đánh chỉ số (indexing): Các văn bản ở dạng thô cần được chuyển sang một
dạng biểu diễn nào đó để xử lý. Quá trình này còn được gọi là quá trình biểu diễn
văn bản, dạng biểu diễn phải có cấu trúc và dẽ dàng khi xử lý.

Định dạng câu hỏi: Người dùng phải mô tả những yêu cầu về lấy thông tin
cần thiết dưới dạng câu hỏi. Các câu hỏi này phải được biểu diễn dưới dạng phổ
biến cho các hệ tìm kiếm như nhập vào các từ khóa cần tìm. Ngoài ra còn có các
phương pháp định dạng câu hỏi dưới dạng ngôn ngữ tự nhiên hoặc dưới dạng các
ví dụ, đối với các dạng này thì cần có các kỹ thuật xử lý phức tạp hơn. Trong các
hệ tìm tin hiện nay thì đại đa số là dùng câu hỏi dưới dạng các từ khóa.

So sánh: Hệ thống phải có sự so sánh rõ ràng và hoàn toàn câu hỏi các câu
hỏi của người dùng với các văn bản đượcl ưu trữ trong CSDL. Cuối cùng hệ đưa ra
một quyết định phân loại các văn bản có độ liên quan gầnvới câu hỏi đưa vào và
thứ tự của nó. Hệ sẽ hiển thị toàn bộ văn bản hoặc chỉ một phần văn bản.

Phản hồi: Nhiều khi kết quả được trả về ban đầu không thỏa mãn yêu cầu
của người dùng, do đó cần phải có qua trình phản hồi để người dùng có thểt hay
đổi lại hoặc nhập mới các yêu cầu của mình. Mặt khác, người dùng có thể tương
tác với các hệ về các văn bản thỏa mãn yêu cầu của mình và hệ có chức năng cập
nhậu các văn bản đó. Quá trình này được gọi là quá trình phản hồi liên quan
(Relevance feeback).

Các công cụ tìm kiếm hiện nay chủ yếu tập trung nhiều vào ba quá trình đầu,
còn phần lớn chưa có quá trình phản hồi hay xử lý tương tác người dùng và máy.
Quá trình phản hồi hiện nay đang được nghiên cứu rộng rãi và riêng trong quá
trình tương tác giao diện người máy đã xuất hiện hướng nghiên cứu là interface
agent.
2. Phân lớp văn bản(Text Categoization)
a. Nội dung
Phân lớp văn bản được xem như là quá trình gán các văn bản vào một hay
nhiều văn bản đã xác định từ trước. Người ta có thể phân lớp các văn bản mộtc ách
thủ công, tức là đọc từng văn bản một 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 đối với nhiều văn bản và do đó không khả thi.
Do vậy màphải có các phương pháp phân lớp tự động. Để phân lớp tự động người
ta sử dụng các phương pháp học máy trong trí tuệ nhân tạo (Cây quyết định,
Bayes, k người láng giềng gần nhất)
Một trong những ứng dụng quan trọng nhất của phân lớp văn bản là trong
tìm kiếm văn bản. Từ một tập dữ liệu đã phân lớp các văn bản sẽ được đánh chỉ số
đôí với từng lớp tương ứng. Người dùng có thể xác định chủ đề hoặc phân lớp văn
bản mà mình mong muốn tìm kiếm thông qua các câu hỏi.

Một ứng dụng khác của phân lớp văn bản là trong lĩnh vực tìm hiểu văn bản.
Phân lớp văn bản có thể được sử dụng để lọc các văn bản hoặc một phần các văn
bản chứa dữ liệu cần tìm mà không làm mất đi tính phức tạp của ngôn ngữ tự
nhiên.
Trong phân lớp văn bản, một lớp có thể được gán giá trị đúng sai (True hay
False hoặc văn bản thuộc hay không thuộc lớp) hoặc được tính theo mức độ phụ
thuộc (văn bản có môt mức độ phụ thuộc vào lớp). Trong trương hợp có nhiều lớp
thì phân loại đúng sai sẽ là việc xem một văn bản có thuộc vào một lớp duy nhất
nào đó hay không..
b. Quá trình
Quá trình phân lớp văn bản. tuân theo các bước sau:
Đánh chỉ số (Indexing): Quá trình đánh chỉ số văn bản cũng giống như trong
quá trình đánh chỉ số của tìm kiếm văn bản. Trong phần này thì tốc độ đánh chỉ số
đóng vai trò quan trọng vì một số các văn bản mới có thể cần đươc xử lý trong thời
gían thực
Xác định độ phân lớp: Cũng giống như trong tìm kiếm văn bản, phân lớp
văn bản yêu cầu quá trình diễn tả việc xác định văn bản đó thuộc lớp nào đó như
thế nào, dựa trên cấu trúc biểu diễn của nó. Đối với hệ phân lớp văn bản, chúng ta
gọi quá trình này là bộ phân lớp (Categorization hoặc classifier). Nó đóng vai trò
như những câu hỏi trong hệ tìm kiếm. Nhưng trong khi những câu hỏi mang tính
nhất thời, thì bộ phân loại được sử dụng một cách ổn định và lâu dài cho quá trình
phân loại.
So sánh: Trong hầu hết các bộ phân loại, mỗi văn bản đều được yêu cầu gán
đúng sai vào một lớp nào đó. Sự khác nhau lớn nhất đối với quá trình so sánh trong
hệ tìm kiếm văn bản là mỗi văn bản chỉ được so sánh với một số lượng các lớp một
lần và việc chọn quyết đnịh phù hợp còn phụ thuộc vào mối quan hệ giữa các lớp
văn bản.
Phản hồi (Hay thích nghi): Quá trình phản hồi đóng vai trò trong hệ phân lớp
văn bản. Thứ nhất là khi phân loại thì phải có môt số lượng lớn các văn bản đã
được xếp loại bằng tay trước đó, các văn bản này được sử dụng làm mẫu huấn
luyện để hỗ trợ xây dựng bộ phân loại. Thứ hai là đối với việc phân loại văn bản
này không dễ dàng thay đổi các yêu cầu như trong quá trình phản hồi của tìm kiếm
văn bản , người dùng có thể thông tin cho người bảo trì hệ thống về việc xóa bỏ,
thêm vào hoặc thay đổi các phân lớp văn bản nào đó mà mình yêu cầu.

1.3.2. Khai phá dữ liệu Web


a. Nhu cầu
Sự phát triển nhanh chóng của mạng Internet và Intranet đã sinh ra một khối
lượng khổng lồ các dữ liệu dạng siêu văn bản(dữ liệu Web). Cùng với sự thay đổi
và phát triển hàng ngaỳ hàng giờ về nội dung cũng như số lượng của các trang
Web trên Internet thì vấn đề tìm kiếm thôn g tin đối với người sử dụng lại ngày
càng khó khăn. Có thể nói nhu cầu tìm kiếm thông tin trên môt CSDL phi cấu trúc
đã được phát triển chủ yếu cùng với sự phát triển của Internet. Thực vậy với
Internet con người đã làm quen với các trang Web cùng với vô vàn các thông tin.
Trong những năm gần đây Intrnet đã trở thành một trong những kênh về khoa học,
thông tin kinh tế, thương mại và quảng cáo. Một trong những lý do cho sự phát
triển này là sự thấp về giá cả tiêu tốn khi công khai một trang Web trên Internet. So
sánh với những dịch vụ khác như mua bản hay quảng cáo trên một tờ báo hay tạp
chí, thì một trang Web "đòi" rẻ hơn rất nhiều và cập nhật nhanh chóng hơn tới
hàng triệu người dùng khắp mọi nơi trên thế giới. Có thể nói trang Web như là
cuốn từ điển Bách khoa toàn thư. Thông tin trên các trang Web đa dạng về mặt nội
dung cũng như hình thức. Có thể nói Internet như một
xã hội ảo, nó bao gồm các thông tin về mọi mặt của đời sống kinh tế, xã hội được
trình bày dưới dạng văn bản, hình ảnh, âm thanh,...  
Tuy nhiên cùng với sự đa dạng và số lượng lớn thông tin như vậy đã nảy
sinh vấn đề quá tải thông tin. Người ta không thể tìm tự kiếm địa chỉ trang Web
chứa thông tin mà mình cần, do vậy đòi hỏi cần phải có một trình tiện ích quản lý
nội dung của các trang Web và cho phép tìm thấy các địa chỉ trang Web có nội
dung giống với yêu cầu của người tìm kiếm. Các tiện ích này quản lý dữ liệu như
các đối tượng phi cấu trúc. Hiện nay chúng ta đã làm quen với một số các tiện ích
như vậy đó là: Yahoo, goolel, Alvista,...

Mặt khác, giả sử chúng ta có các trang Web về các vấn đề Tin học, Thể thao,
Kinh tể-Xã hội và xây dựng...Căn cứ vào nội dung của các tài liệu mà khách hàng
xem hoặc download về, sau khi phân lớp chúng ta sẽ biết khách hàng hay tập trung
vào nội dung gì trên trang Web của chúng ta, từ đó chúng ta sẽ bổ sung thêm nhiều
các tài liệu về các nội dung mà khách hàng quan tâm và ngược lại. Còn về phía
khách hàng sau khi phân tích chúng ta cũng biết được khách hàng hay tập trung về
vấn đề gì, để từ đó có thể đưa ra những hỗ trợ thêm cho khách hàng đó. Từ những
nhu cầu thực tế trên, phân lớp và tìm kiếm trang Web vẫn là bài toán hay và cần
phát triển nghiên cứu hiện nay.
b. Khó khăn
Hệ thống phục vụ World Wide Web như là một hệ thống trung tâm rất lớn
phân bố rộng cung cấp thông tin trên mọi lĩnh vực khoa học, xã hội, thương mại,
văn hóa,... Web là một nguồn tài nguyên giàu có cho Khai phá dữ liệu. Những
quan sát sau đây cho thấy Web đã đưa ra sự thách thức lớn cho công nghệ Khai
phá dữ liệu 
1. Web dường như quá lớn để tổ chức thành một kho dữ liệu phục vụ
Dataming
Các CSDL truyền thống thì có kích thước không lớn lắm và thường được
lưu trữ ở một nơi, , Trong khi đó kích thước Web rất lớn, tới hàng terabytes và thay
đổi liên tục, không những thế còn phân tán trên rất nhiều máy tính khắp nơi trên
thế giới. Một vài nghiên cứu về kích thước của Web đã đưa ra các số liệu như sau:
Hiện nay trên Internet có khoảng hơn một tỷ các trang Web được cung cấp cho
người sử dụng.,giả sử kích thước trung bình của mỗi trang là 5-10Kb thì tổng kích
thước của nó ít nhất là khoảng 10 terabyte. Còn tỷ lệt ăng của các trang Web thì
thật sự gây ấn tượng. Hai năm gần đây số các trang Web tăng gấp đôi và còng tiếp
tục tăng trong hai năm tới. Nhiều tổ chức và xã hội đặt hầu hết những thông tin
công cộng của họ lên Web. Như vậy việc xây dựng một kho dữ liệu
(datawarehouse) để lưu trữ, sao chép hay tích hợp các dữ liệu trên Web là gần như
không thể

2. Độ phức tạp của trang Web lớn hơn rất nhiều so với những tài liệu văn
bản truyền thống khác
Các dữ liệu trong các CSDL truyền thống thì thường là loại dữ liệu đồng
nhất (về ngôn ngữ, định dạng,...), còn dữ liệu Web thì hoàn toàn không đồng nhất.
Ví dụ về ngôn ngữ dữ liệu Web bao gồm rất nhiều loại ngôn ngữ khác nhau (Cả
ngôn ngữ diễn tả nội dung lẫn ngôn ngữ lập trình), nhiều loại định dạng khác nhau
(Text, HTML, PDF, hình ảnh âm thanh,...), nhiều loại từ vựng khác nhau (Địa chỉ
Email, các liên kết (links), các mã nén (zipcode), số điện thoại) Nói cách khác,
trang Web thiếu một cấu trúc thống nhất. Chúng được coi như một thư viện kỹ
thuật số rộng lớn, tuy nhiên con số khổng lồ các tài liệu trong thư viện thì không
được sắp xếp tuân theo một tiêu chuẩn đặc biệt nào, không theo phạm trù, tiêu đề,
tác giả, số trang hay nội dung,... Điều này là một thử thách rất lớn cho việc tìm
kiếm thông tin cần thiết trong một thư viện như thế.
3. Web là một nguồn tài nguyên thông tin có độ thay đổi cao
Web không chỉ có thay đổi về độ lớn mà thông tin trong chính các trang
Web cũng được cập nhật liên tục. Theo kết quả nghiên cứu , hơn 500.000 trang
Web trong hơn 4 tháng thì 23% các trang thay đổi hàng ngày, và khoảng hơn 10
ngày thì 50% các trang trong tên miền đó biến mất, nghĩa là địa chỉ URL của nó
không còn tồn tại nữa. Tin tức, thị trường chứng khoán, các công ty quản cáo và
trung tâm phục vụ Web thường xuyên cập nhật trang Web của họ.s Thêm vào đó
sự kết nối thông tin và sự truy cập bản ghi cũng được cập nhật
4. Web phục vụ một cộng đồng người dùng rộng lớn và đa dạng
Internet hiện nay nối với khoảng 50 trạm làm việc, và cộng đồng người dùng
vẫn đang nhanh chóng lan rộng. Mỗi người dùng có một kiến thức, mối quan tâm,
sở thích khác nhau. Nhưng hầu hết người dùng không có kiến thức tốt về cấu trúc
mạng thông tin, hoặc không có ý thức cho những tìm kiếm, rất dễ bị "lạc" khi đang
"mò mẫm"trong "bóng tối" của mạng hoặc sẽ chán khi tìm kiếm mà chỉ nhận
những mảng thông tin không mấy hữu ích
5. Chỉ một phần rất nhỏ của thông tin trên Web là thực sự hữu ích
Theo thống kê, 99% của thông tin Web là vô ích với 99% người dùng Web.
Trong khi những phần Web không được quan tâm lại bị búi vào kết quả nhận được 
trong khi tìm kiếm. Vậy thì ta cần phải khai phá Web như thế nào để nhận được
trang web chất lượng cao nhất theo tiêu chuẩn của người dùng? Như vậy chúng ta
có thể thấy các điểm khác nhau giữa việc tìm kiếm trong một CSDL truyền thống
với việc tìm kiếm trên Internet. Những thách thức trên đã đẩy mạnh việc nghiên
cứu khai phá và sử dụng tài nguyên trên Internet
c. Thuận lợi
Bên cạnh những thử thách trên, còn một số lợi thế của trang Web cung cấp
cho công việc khai phá Web.
1. Web bao gồm không chỉ có các trang mà còn có cả các hyperlink trỏ từ
trang này tới trang khác. Khi một tác giả tạo một hyperlink từ trang của ông ta tới
một trang A có nghĩa là A là trang có hữu ích với vấn đề đang bàn luận. Nếu trang
A càng nhiều Hyperlink từ trang khác trỏ đến chứng tỏ trang A quan trọng. Vì vậy
số lượng lớn các thông tin liên kết trang sẽ cung cấp một lượng thông tin giàu có
về mối liên quan, chất lượng, và cấu trúc của nội dung trang Web, và vì thế là một
nguồn tài nguyên lớn cho khai phá Web
2. Một máy chủ Web thường đăng ký một bản ghi đầu vào (Weblog entry)
cho mọi lần truy cập trang Web. Nó bao gồm địa chỉ URL, địa chỉ IP, timestamp.
Dữ liệu Weblog cung cấp lượng thông tin giàu có về những trang Web động. Với
những thông tin về địa chỉ URL, địa chỉ IP,... một cách hiển thị đa chiều có thể
được cấu trúc nên dựa trên CSDL Weblog. Thực hiện phân tích OLAP đa chiều có
thể đưa ra N người dùng cao nhất, N trang Web truy cập nhiều nhất, và khoảng
thời gian nhiều người truy cập nhất, xu hướng truy cập Web
d. Các nội dung trong Webmining
Như đã phân tích về đặc điểm và nội dung các văn bản HyperText ở trên, từ
đó khai phá dữ liệu Web cũng sẽ tập trung vào các thành phần có trong trang Web.
Đó chính là:
1. Khai phá nội dung trang Web (Web Content mining)Khai phá nội dung
trang Web gồm hai phần:
a. Web Page Content
Nghĩa là sẽ sử dụng chỉ các từ trong văn bản mà không tính đến các liên kết
giữa các văn bản. Đây chính là khai phá dữ liệu Text (Textmining)
b.Search Result
Tìm kiếm theo kết quả. Trong các máy tìm kiếm, sau khi đã tìm ra những
trang Web thoả mãn yêu cầu người dùng, còn một công việc không kém phần quan
trọng, đó là phải sắp xếp kết quả theo thứ tự dộ gần nhau với nội dung cần tìm
kiếm. Đây cũng chính là khai phá nội dung trang Web.
2. Web Structure Mining
Khai phá dựa trên các siêu liên kết giữa các văn bản có liên quan.
3. Web Usage Mining
a. General Access Partern Tracking:
Phân tích các Web log để khám phá ra các mẫu truy cập của người dùng
trong trang Web.
b. Customize Usage Tracking:
Phân tích các mẫu truy cập của người dùng tại mỗi thời điểm để biết xu
hướng truy cập trang Web của từng đối tượng người dùng tại mỗi thời điểm khác
nhau

You might also like