Qua đó, bài báo giới thiệu mô hình tiếp cận phân cụm tài li ệu Web bằng kỹ thuật phân cụm dữ liệu mờ và trình bày cụ thể quá trình tìm kiếm và phân c ụm tài liệu Web bằng kỹ thuật phân
Trang 1ÁP D ỤNG KỸ THUẬT PHÂN CỤM DỮ LIỆU MỜ
Đỗ Quang Khôi 1
để khám phá ra những thông tin, tri thức hữu ích mang một ý nghĩa hết sức quan trọng
V ới mục đích đó, bài báo này trình bày tổng quan về khai phá dữ liệu Web, các hướng
ti ếp cận phân cụm tài liệu Web Qua đó, bài báo giới thiệu mô hình tiếp cận phân cụm tài li ệu Web bằng kỹ thuật phân cụm dữ liệu mờ và trình bày cụ thể quá trình tìm kiếm
và phân c ụm tài liệu Web bằng kỹ thuật phân cụm dữ liệu mờ với thuật toán Fuzzy C-Means
1 Gi ới thiệu
Các phương pháp phân tích dữ liệu truyền thống (dữ liệu rõ) tập trung phân tích
một tập dữ liệu ban đầu thành các cụm dữ liệu có tính tự nhiên và mỗi đối tượng dữ liệu
chỉ thuộc về một cụm dữ liệu, phương pháp này chỉ phù hợp với việc khám phá ra các
cụm có mật độ cao và rời nhau, với đường biên giữa các cụm được xác định tốt Tuy nhiên, trong thực tế, đường biên giữa các cụm có thể mờ, các cụm có thể chồng lên nhau, nghĩa là một số các đối tượng dữ liệu thuộc về nhiều cụm khác nhau Do đó, các
phương pháp phân cụm truyền thống không mô tả được dữ liệu thực Vì vậy, người ta
đã áp dụng lý thuyết tập mờ trong phân cụm dữ liệu (PCDL) để giải quyết cho trường
hợp này Cách thức kết hợp này được gọi là PCDL mờ (gọi tắt là phân cụm mờ)
Hơn nữa, World Wide Web (WWW) là một kho thông tin khổng lồ với tiềm năng được coi là không có giới hạn Để đáp ứng phần nào nhu cầu tìm kiếm và sử dụng nguồn tri thức này, người ta đã xây dựng các công cụ tìm kiếm và xử lý thông tin bằng cách áp dụng các kỹ thuật khai phá dữ liệu (KPDL) trong khai phá tài nguyên Web Trong đó, PCDL Web là một bài toán điển hình trong khai phá tài nguyên Web
Hiện tại đã có một số thuật toán PCDL được sử dụng trong phân cụm tài liệu như các thuật toán phân cụm phân hoạch, các thuật toán phân cụm phân cấp,… Tuy nhiên, trong thực tế nội dung của một trang Web có thể thuộc vào nhiều nhóm chủ đề khác nhau Vì vậy, phân cụm theo nội dung trang Web với hướng tiếp cận truyền thống tỏ ra còn nhiều hạn chế Để giải quyết vấn đề này, một hướng đi mới đó là nghiên cứu và áp
dụng các kỹ thuật PCDL theo cách tiếp cận mờ trong KPDL Web
KPDL Web và được thực nghiệm bằng chương trình ứng dụng thực hiện tìm kiếm trên Web và sau đó phân cụm kết quả tìm kiếm này bằng hai kỹ thuật phân cụm: phân cụm
rõ với thuật toán k-means và phân cụm mờ với thuật toán Fuzzy C-Means (FCM)
1
ThS, Trung tâm H ọc liệu, trường Đại học Quảng Nam
Trang 22 T ổng quan về khai phá dữ liệu Web
Với sự phát triển nhanh chóng của Internet, các thông tin trên WWW đã trở thành
một kho dữ liệu khổng lồ trong hầu hết các lĩnh vực kinh tế, xã hội, chính trị, giáo dục,
dung trang web với cấu trúc siêu văn bản và đa phương tiện, thông tin siêu liên kết, truy
cập và sử dụng thông tin, cung cấp một nguồn dữ liệu đồ sộ cho KPDL
Hình 1 Phân loại KPDL Web
Có nhiều khái niệm khác nhau về KPDL Web Tuy nhiên, theo [6], [8], ta có khái
niệm tổng quát nhất như sau: KPDL Web là việc sử dụng các kỹ thuật KPDL để khám phá ra những thông tin, tri thức hữu ích từ các cấu trúc siêu liên kết, nội dung trang web
và dữ liệu sử dụng Dựa trên các kiểu dữ liệu chính được sử dụng trong quá trình khai phá, KPDL Web có thể được phân thành ba loại: khai phá nội dung, khai phá cấu trúc và khai phá theo sử dụng [8]
• Khai phá nội dung Web:
Khai phá nội dung Web nhằm trích lọc hoặc khai thác những thông tin hữu ích, tri
thức từ nội dung trang Khai phá nội dung Web có thể được phân biệt bởi hai cách tiếp
cận: tiếp cận dựa trên hành động và tiếp cận dựa trên CSDL Cách tiếp cận thứ nhất nhằm
mục đích cải thiện việc tìm kiếm và trích lọc thông tin Cách tiếp cận thứ hai nhằm mục đích mô hình hóa dữ liệu trên Web thành dạng có cấu trúc hơn để áp dụng vào truy vấn CSDL và các ứng dụng KPDL
• Khai phá cấu trúc Web:
Khai phá cấu trúc Web nhằm phát hiện ra tri thức hữu ích từ các siêu liên kết, các siêu liên kết này chính là đặc trưng cho cấu trúc Web Ví dụ, từ các liên kết, chúng ta có
thể khám phá các trang web quan trọng, và chúng cũng chính là một kỹ thuật quan trọng được sử dụng trong các máy tìm kiếm KPDL truyền thống không thực hiện được như
vậy bởi vì nó thường là không có cấu trúc liên kết trong một bảng quan hệ
Trang 3• Khai phá theo sử dụng Web:
Khai phá theo sử dụng Web đề cập đến sự khám phá các mẫu truy cập của người dùng từ các bản ghi sử dụng Web (Web log records) Phân tích quá trình đăng nhập Web của người dùng cũng có thể giúp cho việc xây dựng các dịch vụ Web theo yêu cầu đối với từng người dùng riêng lẻ được tốt hơn Một trong những vấn đề quan trọng trong khai phá theo sử dụng Web là tiền xử lý luồng dữ liệu nhấp chuột trong các bản ghi sử dụng nhằm đem lại dữ liệu đúng đắn để khai phá
3 Các h ướng tiếp cận phân cụm tài liệu Web
Có rất nhiều phương pháp tiếp cận phân cụm tài liệu Web đã được đề xuất Mỗi
hướng tiếp cận theo một cách khác nhau, như: kiểu dữ liệu của các thuộc tính; độ đo
tương tự, Dựa trên những đặc trưng hay thuộc tính của tài liệu, hướng tiếp cận của các thuật toán phân cụm tài liệu Web có thể chia làm các loại sau [9]:
• Phân cụm dựa trên văn bản:
Hướng tiếp cận phân cụm tài liệu Web dựa trên văn bản đặc tả mỗi tài liệu theo
nội dung của nó, tức là các từ (hoặc đoạn văn bản) chứa trong nó Ý tưởng chính của
hướng tiếp cận này đó là nếu hai tài liệu có chứa nhiều từ chung với nhau thì có khả
năng hai tài liệu này là rất giống nhau
Các kỹ thuật phân cụm tài liệu Web dựa trên văn bản như: phân cụm phân hoạch,
xác suất,
• Phân cụm dựa trên liên kết:
Các phương pháp phân cụm dựa trên văn bản được phát triển để sử dụng đối với
bộ tài liệu tĩnh, đồng nhất và nhỏ Ngược lại, WWW là một tập khổng lồ các trang web đồng nhất và liên kết với nhau Hơn nữa, các trang web lại có thêm những thông tin được đính kèm theo nhưng lại rất hữu ích cho quá trình phân cụm, như: siêu dữ liệu, các siêu liên kết
Ý tưởng của hướng tiếp cận này đó là khi hai tài liệu được kết nối thông qua một liên kết có mối quan hệ về mặt ngữ nghĩa giữa chúng thì đó có thể là cơ sở cho việc phân hoạch các tài liệu về các cụm
Hai thuật toán tiêu biểu được phát triển dựa theo hướng tiếp cận này đó là: thuật toán PageRank (S Brin và đồng nghiệp, 1998) và thuật toán HITS (J M Kleinberg, 1998) Trong đó, thuật toán PageRank lập chỉ mục cho các liên kết giữa các website và xác định giá trị liên kết của một trang web (gọi là PageRank) Dựa vào PageRank này, thuật toán xác định thứ tự sắp xếp của mỗi trang trong các kết quả tìm kiếm Trong khi
đó, thuật toán HITS xếp thứ hạng tài liệu dựa trên thông tin liên kết giữa tập các tài liệu
• Phân cụm lai ghép:
Phương pháp phân cụm tài liệu Web dựa trên liên kết chỉ đặc tả các tài liệu bằng các thông tin được trích xuất từ cấu trúc liên kết của tập tài liệu Còn các phương pháp
Trang 4phân cụm tài liệu Web dựa trên văn bản thì đặc tả tài liệu bởi các từ chứa trong nó Mặc
dù các liên kết có thể dẫn đến những trang khác nhau từ một trang nhưng nó không có
mục đích chỉ ra sự giống nhau giữa các trang Các thuật toán phân cụm này có thể cho
kết quả có hiệu quả không cao vì mật độ cấu trúc liên kết thu được có thể là quá nhiều
hoặc quá ít Còn các thuật toán phân cụm dựa trên văn bản thì lại có vấn đề khi tiếp cận
với các ngôn ngữ khác nhau hay với đặc thù của mỗi ngôn ngữ, ví dụ như: từ đồng nghĩa, từ trái nghĩa, Mặt khác, các thông tin trên trang web không chỉ ở dưới dạng văn
bản mà còn có thể là hình ảnh, âm thanh, hay đa phương tiện
Chính vì những lý do trên, một phương pháp phân cụm lai ghép giữa hai phương pháp trên được đề xuất để kết hợp những ưu điểm và hạn chế những nhược điểm cho nhau Các thuật toán được phát triển theo hướng tiếp cận này như là: thuật toán Phân
Spangler, 2000),
Tóm lại, việc lựa chọn phương pháp phân cụm tài liệu Web nào tốt nhất là một
vấn đề không dễ dàng, bởi vì trước hết, mỗi phương pháp đều có ưu và nhược điểm riêng của nó Thứ hai, hiệu quả của mỗi phương pháp phụ thuộc vào tập dữ liệu cụ thể
và lĩnh vực ứng dụng
4 K ỹ thuật PCDL mờ trong phân cụm kết quả tìm kiếm trên Web
tương đương về một cụm Có nhiều phương pháp để đánh giá mức độ quan trọng của
một trang Web, trong đó có phương pháp dựa vào các liên kết trang để xác định trọng
số cho trang Các thuật toán PageRank, HITS, đều dựa trên phương pháp này Một cách tiếp cận khác để đánh giá mức độ quan trọng đó là dựa vào nội dung của các trang Web để xác định trọng số, nếu các trang Web có nội dung tương tự nhau thì sẽ có mức
độ quan trọng tương đương và sẽ cùng thuộc về một cụm
Hình 2 Mô hình tiếp cận phân cụm kết quả tìm kiếm
bằng kỹ thuật PCDL mờ
Trang 5Sử dụng kỹ thuật phân cụm mờ để phân một tập các trang Web với dữ liệu đã chuẩn hóa được truy vấn từ dữ liệu Web thành c cụm sao cho mỗi trang Web trong cùng
một cụm là tương tự nhau về nội dung, các trang Web ở các cụm khác nhau thì không
tương tự nhau Dựa vào đặc trưng của mỗi trang Web, kỹ thuật phân cụm mờ xác định
độ thuộc của trang Web vào một cụm và trọng tâm của cụm đó để thực hiện quá trình phân cụm kết quả tìm kiếm Mô hình tiếp cận ở Hình 2 cũng như quá trình tìm kiếm và phân cụm kết quả sẽ được trình bày cụ thể trong mục dưới dây
4.2.1 Mô hình bi ểu diễn tài liệu Web
Hầu hết các thuật toán phân cụm đều yêu cầu tập dữ liệu cần được phân cụm ở
dạng một tập các véctơ x j = {x j1 , x j2 , …, x jm} trong không gian m chi ều Mỗi tài liệu j được mô tả bởi một véctơ x j – gọi là véctơ đặc trưng (feature vector) và mỗi phần tử của véctơ đặc trưng tương ứng với một từ của tập tài liệu Việc tách lọc các đặc trưng cần thiết thông qua véctơ đặc trưng phụ thuộc nhiều vào từng lĩnh vực Số chiều của véctơ đặc trưng là nhân tố chủ chốt trong thời gian chạy của thuật toán cũng như độ lớn của
nó
Trong phân cụm tài liệu Web, hầu hết các kỹ thuật phân cụm thường sử dụng mô hình không gian véctơ (vector space) để biểu diễn các đối tượng dữ liệu Mỗi trang Web
được biểu diễn bằng một véctơ p j = {tf j1 , tf j2 , …, tf jn} trong đó tf jk (k = 1, …, n) là tần
suất xuất hiện (TF-Term Frequency) của từ t k trong trang Web p j Để biểu diễn tất cả các trang Web cùng với một tập từ thì cần tách tất cả các từ tìm được trên tổng các trang Web và sử dụng chúng như véctơ đặc trưng Theo mô hình TF này thì trọng số w jk của
từ t k trong trang Web p j được xác định theo một trong các công thức sau [10]: w jk = tf jk
hoặc w jk = 1 + log(tf jk)
Ngoài mô hình TF, các đối tượng dữ liệu có thể được biểu diễn dựa trên mô hình nghịch đảo tần suất xuất hiện (IDF-Inverse Document Frequency) Theo [10], nghịch
đảo tần suất xuất hiện của từ t k trong trang trang Web p j được định nghĩa là idf jk = log(n/h k) Trong đó, n là tổng số trang Web và h k là số lượng trang Web có chứa từ t k
Một mô hình biểu diễn dữ liệu khác cũng thường được sử dụng trong phân cụm tài liệu Web đó là mô hình kết hợp TF-IDF Với mô hình này, trọng số w jk của từ t k
trong trang Web p jđược định nghĩa như sau [10]:
x
Trong đó:
tf jk: là tần suất xuất hiện của từ t k trong trang Web p j;
idf jk = log(n/h k) là nghịch đảo tần suất xuất hiện của từ t k trong trang Web p j;
n: t ổng số trang Web trong tập trang Web C;
h k: số lượng trang Web có chứa từ t k
4.2.2 Quá trình tìm ki ếm và xử lý kết quả
Trang 6Về cơ bản, quá trình tìm kiếm và phân cụm kết quả tìm kiếm bằng kỹ thuật phân
cụm mờ sẽ diễn ra theo các bước như sau [9]:
Nhiệm vụ chủ yếu của giai đoạn này là dựa vào từ khóa tìm kiếm để tìm kiếm và
trả về một tập các trang Web bao gồm nội dung, tiêu đề, mô tả tóm tắt, URL,… tương ứng với mỗi trang
ii Tiền xử lý dữ liệu:
Đây là giai đoạn vô cùng quan trọng, nó ảnh hưởng rất lớn đến quá trình thực hiện phân cụm Nhiệm vụ của giai đoạn này là làm giảm số từ trong mỗi tài liệu, do vậy nó
có tác dụng làm giảm độ phức tạp tính toán của các giai đoạn sau và nâng cao hiệu quả cho giai đoạn kế tiếp Đây là quá trình làm sạch dữ liệu và chuyển dịch các tài liệu thành các dạng biểu diễn dữ liệu thích hợp
Giai đoạn này bao gồm các công việc như sau:
Chu ẩn hóa văn bản: chuyển văn bản thô về dạng văn bản sao cho việc xử lý sau
này được dễ dàng, đơn giản, thuật tiện, chính xác so với việc xử lý trực tiếp trên văn bản thô mà ảnh hưởng ít đến kết quả xử lý, như: xóa các thẻ HTML và các loại thẻ khác để trích ra các từ/cụm từ; Chuyển các ký tự hoa thành các ký tự thường; Xóa bỏ các dấu câu, xoá các ký tự trắng dư thừa,
Lo ại bỏ stop-words: stop-words là những từ mà xuất hiện quá nhiều trong kết quả
nhưng không giúp ích gì trong việc phân biệt nội dung của các tài liệu Ví dụ: Trong
tiếng Việt các từ như “thì”, “mà”, “và”, “hoặc”, ; trong tiếng Anh các từ như “a”, “an”,
“the”, “of”, “to”, “on”, “by”, ; Vì đặc điểm của stop-words nên chúng được loại bỏ mà không ảnh hưởng đến các giai đoạn sau
Chuy ển đổi về từ gốc: loại bỏ tiền tố và hậu tố của từ để biến đổi nó thành từ gốc
Vì trong thực tế một từ gốc có thể có nhiều hình thái biến đổi, chẳng hạn như động từ, danh từ, tính từ, trạng từ; và giữa chúng có mối quan hệ ngữ nghĩa Ví dụ như những từ:
“clusters”, “clustering”, “clustered” là có cùng mối quan hệ với từ “cluster”
iii Xây dựng từ điển:
Từ điển bao gồm các từ riêng biệt trong tập các trang Web từ kết quả truy vấn Từ điển là một bảng bao gồm các từ, chỉ số của nó trong từ điển và được sắp xếp theo thứ
tự Theo [5], [7], [10] từ điển được xây dựng với 500 phần tử sau khi được chuẩn hóa là phù hợp
iv Tạo ma trận tài liệu:
Ma trận tài liệu T được tạo bằng cách đếm số lần xuất hiện của mỗi từ từ t i trong
mỗi trang Web p j
v Véctơ hóa tài liệu:
Giai đoạn này tính tf và idf, xác định trọng số W theo công thức (4.1) cho tất cả các
từ của mỗi trang Web và véc tơ hóa tất cả các trang Web
vi Phân cụm kết quả tìm kiếm bằng thuật toán FCM:
Trang 71
; 1
n m
ik k k
m ik k
u
=
=
∑
2 1
1
1
; 1 ;1
ik
m c
ik
j jk
d d
−
=
⎛ ⎞
⎜ ⎟
⎜ ⎟
⎝ ⎠
∑
Tư tưởng thuật toán:
Thuật toán FCM thực hiện phân cụm bằng một chuỗi các phép lặp các công thức [4]:
(4.2), và:
(4.3)
để tối ưu các phân hoạch mờ của tập dữ liệu dựa trên việc tính toán độ tương tự có trọng
số giữa đối tượng x k và trọng tâm của cụm i Sau mỗi vòng lặp, thuật toán tính toán và
cập nhật lại phần tử u jk trong ma trận phân hoạch U Thuật toán sẽ dừng lại khi (k 1) k
u + − u < ξ, trong đó ξ ∈ [0, 1] là ngưỡng kết thúc cho trước
Phát biểu bài toán:
Input: s ố cụm c; tham số mờ m ∈ [1, ∞), số vòng lặp tối đa Kmax và ngưỡng kết
thúc ξ ∈ [0, 1]
Output: c cụm dữ liệu sao cho hàm tiêu chuẩn [4]:
1 1
n c
m
k i
= =
Thuật toán [4]:
1. Khởi tạo ma trận U = [u ij], chọn ma trận ban đầu U(0)
M fc;
Tại bước k, k = 0, 1, , Kmax:
2. Cập nhật trọng tâm của cụm ( )k
i
v , i = 1, 2, , c theo công thức (4.2);
3. Cập nhật ma trận thành viên (độ thuộc) (k 1) [ (k 1)]
ik
(4.3);
4. Nếu (k 1) ( )k
U + −U <ξ thì thực hiện bước 5; ngược lại, đặt U (k)
= U (k+1), quay
lại bước 2;
5. Đưa ra các cụm kết quả
Thuật toán FCM trong phân cụm kết quả tìm kiếm trang Web:
1 Khởi tạo ngẫu nhiên ma trận độ thuộc ban đầu U(0)
= [u ij], với u ij là độ thuộc
của trang Web p j đối với cụm c i;
Trang 8Tại bước k, k = 0, 1, , Kmax:
2 Cập nhật trọng tâm của các cụm ( )k
i
v , i = 1, 2, , c theo công thức (4.2);
3 Dựa vào ma trận trọng số của các từ trong mỗi trang Web p j (công thức 4.1), xác định độ đo tương tự dựa trên khoảng cách giữa nó với cụm c i Cập nhật lại ma trận
độ thuộc (k 1) [ (k 1)]
ik
4 Nếu (k 1) ( )k
U(k+1), quay lại bước 2;
5 Đưa ra các cụm kết quả
Trong đó:
X = {x 1 , x 2 , , x n } R n, là tập dữ liệu ban đầu;
c: là s ố cụm dữ liệu trong X;
m: là tr ọng số mũ, hay được gọi là tham số mờ, 1 ≤ m < ∞;
U = [u ik], là ma trận phân hoạch mờ của X trong C cụm, U M fc;
u ik [0, 1]: độ thuộc của đối tượng x k đối với cụm i;
V = [v ji ] = (v 1 , v 2 , , v c), là ma trận biểu diễn các đối tượng trọng tâm của cụm;
v i = (v i1 , v i2 , , v in), là trọng tâm của cụm i;
2
( , )k i
d x v : là khoảng cách Euclide từ đối tượng x k đến trọng tâm của cụm thứ i
5 K ết quả thực nghiệm
nghiệm thông qua một chương trình ứng dụng thực hiện tìm kiếm trên Web và sau đó phân cụm kết quả tìm kiếm này bằng cả hai kỹ thuật phân cụm: phân cụm rõ với thuật
toán k-means và phân cụm mờ với thuật toán FCM nhằm có sự so sánh kết quả phân
cụm của hai kỹ thuật phân cụm rõ và phân cụm mờ
5.1 Cài đặt hệ thống
5.1.1 Ki ến trúc hệ thống
Trang 9Hình 3 Ki ến trúc hệ thống của chương trình thử nghiệm
ngôn ngữ lập trình Visual Basic 2005 và CDSL được quản lý và lưu trữ bằng SQL Server 2005 Hệ thống được thiết kế như Hình 3 ở trên
Chương trình được kết nối với máy tìm kiếm Google bằng cách sử dụng một số hàm trong API của Google để lấy dữ liệu là kết quả truy vấn tìm kiếm từ Google để lưu vào CSDL của hệ thống phục vụ cho quá trình phân cụm
kiếm tự động, chương trình sẽ dựa vào URL để lấy toàn văn của tài liệu đó và lưu trữ lại
phục vụ cho quá trình tìm kiếm và phân cụm sau này
5.1.2 Thi ết kế CSDL
CSDL của chương trình bao gồm các bảng chính sau đây:
¾ Bảng 1: đây là bảng lưu trữ từ điển
¾ Bảng 2: đây là bảng lưu trữ nội dung của trang Web được lấy về từ kết quả
tìm kiếm của Yahoo
API
Kết quả phân cụm
Người dùng
Máy tìm kiếm Google
Truy v ấn đến Google
K ết quả truy v ấn
K ết quả truy v ấn
Từ khóa tìm kiếm
CSDL
Quá trình phân cụm
Trang 10Tên tr ường Ki ểu dữ liệu Mô t ả
chưa
trang Web thuộc cụm nào sau khi được phân cụm
¾ Bảng 3: đây là bảng liên kết giữa các trang Web và từ điển
Web
¾ Bảng 4: đây là bảng lưu trữ các cụm đã tìm được
5.1.3 Quá trình tìm ki ếm và phân cụm được tóm tắt lại như sau:
Input:
+ Một tập các trang Web P tìm được theo truy vấn;
+ Tham số mờ hóa m
Output:
+ Các trang Web được phân cụm theo thuật toán k-means hoặc FCM
Các b ước thực hiện:
Bước 1: Tiền xử lý;
Bước 2: Xây dựng từ điển;
Bước 3: Tạo ma trận tài liệu;
Bước 4: Véctơ hóa tài liệu;