MỤC LỤC 
MỤC LỤC i 
DANH SÁCH CÁC HÌNH v 
DANH SÁCH CÁC BẢNG BIỂU . vi 
CÁC CỤM TỪ VIẾT TẮT vii 
LỜI MỞ ĐẦU 1 
Chương 1. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 3 
1.1. Khai phá dữ liệu và phát hiện tri thức . 3 
1.1.1. Khai phá dữ liệu 3 
1.1.2. Quá trình khám phá tri thức 4 
1.1.3. Khai phá dữ liệu và các lĩnh vực liên quan 5 
1.1.4. Các kỹ thuật áp dụng trong khai phá dữ liệu 5 
1.1.5. Những chức năng chính của khai phá dữ liệu 7 
1.1.6. Ứng dụng của khai phá dữ liệu . 9 
1.2. Kỹ thuật phân cụm trong khai phá dữ liệu 10 
1.2.1. Tổng quan về kỹ thuật phân cụm 10 
1.2.2. Ứng dụng của phân cụm dữ liệu . 13 
1.2.3. Các yêu cầu đối với kỹ thuật phân cụm dữ liệu . 13 
1.2.4. Các kiểu dữ liệu và độ đo tương tự . 15 
1.2.4.1. Phân loại kiểu dữ liệu dựa trên kích thước miền . 15 
1.2.4.2. Phân loại kiểu dữ liệu dựa trên hệ đo 15 
1.2.4.3. Khái niệm và phép đo độ tương tự, phi tương tự 17 
1.3. Khai phá Web 20 
1.3.1. Lợi ích của khai phá Web . 20 
1.3.2. Khai phá Web . 21 
1.3.3. Các kiểu dữ liệu Web 22 
1.4. Xử lý dữ liệu văn bản ứng dụng trong khai phá dữ liệu Web 23 
1.4.1. Dữ liệu văn bản . 23 
1.4.2. Một số vấn đề trong xử lý dữ liệu văn bản . 23 
1.4.2.1. Loại bỏ từ dừng 24 
1.4.2.2. Định luật Zipf . 25 
1.4.3. Các mô hình biểu diễn dữ liệu văn bản 26 
1.4.3.1. Mô hình Boolean 26 
1.4.3.2. Mô hình tần số . 27 
1.5. Tổng kết chương 1 . 30 
Chương 2. MỘT SỐ KỸ THUẬT PHÂN CỤM DỮ LIỆU . 31 
2.1. Phân cụm phân hoạch 31 
2.1.1. Thuật toán k-means . 32 
2.1.2. Thuật toán PAM 34 
2.1.3. Thuật toán CLARA . 38 
2.1.4. Thuật toán CLARANS 39 
2.2. Phân cụm phân cấp 41 
2.2.1. Thuật toán BIRCH 42 
2.2.2. Thuật toán CURE 45 
2.3. Phân cụm dựa trên mật độ . 47 
2.3.1 Thuật toán DBSCAN . 47 
2.3.2. Thuật toán OPTICS 51 
2.3.3. Thuật toán DENCLUE . 52 
2.4. Phân cụm dựa trên lưới 54 
2.4.1 Thuật toán STING . 55 
2.4.2 Thuật toán CLIQUE . 56 
2.5. Phân cụm dữ liệu dựa trên mô hình . 57 
2.5.1. Thuật toán EM 58 
2.5.2. Thuật toán COBWEB . 59 
2.6. Phân cụm dữ liệu mờ . 59 
2.7. Tổng kết chương 2 . 60 
Chương 3. KHAI PHÁ DỮ LIỆU WEB . 62 
3.1. Khai phá nội dung Web . 62 
3.1.1. Khai phá kết quả tìm kiếm 63 
3.1.2. Khai phá văn bản Web 63 
3.1.2.1. Lựa chọn dữ liệu 64 
3.1.2.2. Tiền xử lý dữ liệu . 64 
3.1.2.3. Biểu điễn văn bản . 65 
3.1.2.4. Trích rút các từ đặc trưng . 65 
3.1.2.5. Khai phá văn bản . 66 
3.1.3. Đánh giá chất lượng mẫu 68 
3.2. Khai phá theo sử dụng Web 69 
3.2.1. Ứng dụng của khai phá theo sử dụng Web . 70 
3.2.2. Các kỹ thuật được sử dụng trong khai phá theo sử dụng Web . 71 
3.2.3. Những vấn đề trong khai khá theo sử dụng Web. 71 
3.2.3.1. Chứng thực phiên người dùng . 71 
3.2.3.2. Đăng nhập Web và xác định phiên chuyển hướng người dùng . 72 
3.2.3.3. Các vấn đề đối với việc xử lý Web log 72 
3.2.3.4. Phương pháp chứng thực phiên làm việc và truy cập Web . 73 
3.2.4. Quá trình khai phá theo sử dụng Web 73 
3.2.4.1. Tiền xử lý dữ liệu . 73 
3.2.4.2. Khai phá dữ liệu . 73 
3.2.4.3. Phân tích đánh giá 75 
3.2.5. Ví dụ khai phá theo sử dụng Web 75 
3.3. Khai phá cấu trúc Web 77 
3.3.1. Tiêu chuẩn đánh giá độ tương tự 79 
3.3.2. Khai phá và quản lý cộng đồng Web 80 
3.3.2.1. Thuật toán PageRank . 81 
3.3.2.2. Phương pháp phân cụm nhờ thuật toán HITS . 82 
3.4. Áp dụng thuật toán phân cụm dữ liệu trong tìm kiếm và PCDL Web 85 
3.4.1. Hướng tiếp cận bằng kỹ thuật phân cụm 85 
3.4.2. Quá trình tìm kiếm và phần cụm tài liệu 87 
3.4.2.1. Tìm kiếm dữ liệu trên Web 87 
3.4.2.2. Tiền xử lý dữ liệu . 88 
3.4.2.3. Xây dựng từ điển 89 
3.4.2.4. Tách từ, số hóa văn bản và biểu diễn tài liệu . 90 
3.4.2.5. Phân cụm tài liệu 90 
3.4.6. Kết quả thực nghiệm . 92 
3.5. Tổng kết chương 3 . 93 
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN . 94 
PHỤ LỤC . 96 
TÀI LIỆU THAM KHẢO . 102 
 
LỜI MỞ ĐẦU 
 
Trong những năm gần đây cùng với phát triển nhanh chóng của khoa học 
kỹ thuật là sự bùng nỗ về tri thức. Kho dữ liệu, nguồn tri thức của nhân loại 
cũng trở nên đồ sộ, vô tận làm cho vấn đề khai thác các nguồn tri thức đó ngày 
càng trở nên nóng bỏng và đặt ra thách thức lớn cho nền công nghệ thông tin 
thế giới. 
Cùng với những tiến bộ vượt bậc của công nghệ thông tin là sự phát triển 
mạnh mẽ của mạng thông tin toàn cầu, nguồn dữ liệu Web trở thành kho dữ liệu 
khổng lồ. Nhu cầu về tìm kiếm và xử lý thông tin, cùng với yêu cầu về khả năng 
kịp thời khai thác chúng để mạng lại những năng suất và chất lượng cho công 
tác quản lý, hoạt động kinh doanh, đã trở nên cấp thiết trong xã hội hiện đại. 
Nhưng vấn đề tìm kiếm và sử dụng nguồn tri thức đó như thế nào để phục vụ 
cho công việc của mình lại là một vấn đề khó khăn đối với người sử dụng. Để 
đáp ứng phần nào yêu cầu này, người ta đã xây dựng các công cụ tìm kiếm và 
xử lý thông tin nhằm giúp cho người dùng tìm kiếm được các thông tin cần thiết 
cho mình, nhưng với sự rộng lớn, đồ sộ của nguồn dữ liệu trên Internet đã làm 
cho người sử dụng cảm thấy khó khăn trước những kết quả tìm được. 
Với các phương pháp khai thác cơ sở dữ liệu truyền thống chưa đáp ứng 
được các yêu cầu đó. Để giải quyết vấn đề này, một hướng đi mới đó là nghiên 
cứu và áp dụng kỹ thuật khai phá dữ liệu và khám phá tri thức trong môi trường 
Web. Do đó, việc nghiên cứu các mô hình dữ liệu mới và áp dụng các phương 
pháp khai phá dữ liệu trong khai phá tài nguyên Web là một xu thế tất yếu vừa 
có ý nghĩa khoa học vừa mang ý nghĩa thực tiễn cao. 
Vì vậy, tác giả chọn đề tài “Khai phá dữ liệu Web bằng kỹ thuật phân cụm” 
để làm luận văn tốt nghiệp cho mình. 
Bố cục luận văn gồm 3 chương: 
Chương 1 trình bày một cách tổng quan các kiến thức cơ bản về khai phá dữ 
liệu và khám phá tri thức, khai phá dữ liệu trong môi trường Web; một số vấn đề 
về biểu diễn và xử lý dữ liệu văn bản áp dụng trong khai phá dữ liệu Web. 
Chương 2 giới thiệu một số kỹ thuật phân cụm dữ liệu phổ biến và thường 
được sử dụng trong lĩnh vực khai phá dữ liệu và khám phá tri thức. 
Chương 3 trình bày một số hướng nghiên cứu trong khai phá dữ liệu Web 
như khai phá tài liệu Web, khai phá theo sử dụng Web, khai phá cấu trúc Web 
và tiếp cận theo hướng sử dụng các kỹ thuật phân cụm dữ liệu để giải quyết bài 
toán khai phá dữ liệu Web. Trong phần này cũng trình bày một mô hình áp dụng 
kỹ thuật phân cụm dữ liệu trong tìm kiếm và phân cụm tài liệu Web. 
Phần kết luận của luận văn tổng kết lại những vấn đề đã nghiên cứu, đánh 
giá kết quả nghiên cứu, hướng phát triển của đề tài. 
Phần phụ lục trình bày một số đoạn mã lệnh xử lý trong chương trình và 
một số giao diện trong chương trình mô phỏng.
                
              
                                            
                                
            
 
            
                
110 trang | 
Chia sẻ: lvcdongnoi | Lượt xem: 4670 | Lượt tải: 5
              
            Bạn đang xem trước 20 trang tài liệu Luận văn Khai phá dữ liệu Web bằng kỹ thuật phân cụm, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hất 
lượng mô hình. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
69 
3.2. Khai phá theo sử dụng Web 
Việc nắm bắt được những đặc tính của người dùng Web là việc rất quan 
trọng đối với người thiết Web site. Thông qua việc khai phá lịch sử các mẫu truy 
xuất của người dùng Web, không chỉ thông tin về Web được sử dụng như thế 
nào mà còn nhiều đặc tính khác như các hành vi của người dùng có thể được xác 
định. Sự điều hướng đường dẫn người dùng Web mang lại giá trị thông tin về 
mức độ quan tâm của người dùng đến các WebSite đó. 
Dựa trên những tiêu chuẩn khác nhau người dùng Web có thể được phân 
cụm và các tri thức hữu ích có thể được lấy ra từ các mẫu truy cập Web. Nhiều 
ứng dụng có thể giúp lấy ra được các tri thức. Ví dụ, văn bản siêu liên kết động 
được tạo ra giữa các trang Web có thể được đề xuất sau khi khám phá các cụm 
người dùng Web, thể hiện độ tương tự thông tin. Thông qua việc phát hiện mối 
quan hệ giữa những người dùng như sở thích, sự quan tâm của người dùng Web 
ta có thể dự đoán một cách chính xác hơn người sử dụng đang cần gì, tại thời 
điểm hiện tại có thể dự đoán được kế tiếp họ sẽ truy cập những thông tin và họ 
cần thông tin gì. 
Giả sử rằng tìm được độ tương tự về sự quan tâm giữa những người dùng 
Web được khám phá từ hiện trạng (profile) của người dùng. Nếu Web site được 
thiết kết tốt sẽ có nhiều sự tương quan giữa độ tương tự của các chuyển hướng 
đường dẫn và tương tự giữa sự quan tâm của người dùng. 
Khai phá theo sử dụng Web là khai phá truy cập Web (Web log) để khám 
phá các mẫu người dùng truy nhập vào WebSite. Thông qua việc phân tích và 
khảo sát những quy tắc trong việc ghi nhận lại quá trình truy cập Web ta có thể 
chứng thực khách hàng trong thường mại điện tử, nâng cao chất lượng dịch vụ 
thông tin trên Internet đến người dùng, nâng cao hiệu suất của các hệ thống phục 
vụ Web. Thêm vào đó, để tự phát triển các Web site bằng việc huấn luyện từ các 
mẫu truy xuất của người dùng. 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. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
70 
Hiện tại, ta thường sử dụng các công cụ khám phá mẫu và phân tích mẫu. 
Nó phân tích các hành động người dùng, lọc dữ liệu và khai phá tri thức từ tập 
dữ liệu bằng cách sử dụng trí tuệ nhân tạo, KPDL, tâm lý học và lý thuyết thông 
tin. Sau khi tìm ra các mẫu truy cập ta thường sử dụng các kỹ thuật phân tích 
tương ứng để hiểu, giải thích và khám phá các mẫu đó. Ví dụ, kỹ thuật xử lý 
phân tích trực tuyến, tiền phân loại hình thái dữ liệu, phân tích mẫu thói quen sử 
dụng của người dùng. 
Kiến trúc tổng quát của quá trình khai phá theo sử dụng Web như sau: 
Hình 3.6. Kiến trúc tổng quát của khai phá theo sử dụng Web 
3.2.1. Ứng dụng của khai phá theo sử dụng Web 
- Tìm ra những khách hàng tiềm năng trong thương mại điện tử. 
- Chính phủ điện tử (e-Gov), giáo dục điện tử (e-Learning). 
- Xác định những quảng cáo tiềm năng. 
- Nâng cao chất lượng truyền tải của các dịch vụ thông tin Internet đến 
người dùng cuối. 
- Cải tiến hiệu suất hệ thống phục vụ của các máy chủ Web. 
- Cá nhân dịch vụ Web thông quan việc phân tích các đặc tính cá nhân 
người dùng. 
- Cải tiến thiết kế Web thông qua việc phân tích thói quen duyệt Web và 
phân tích các mẫu nội dung trang quy cập của người dùng. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
71 
- Phát hiện gian lận và xâm nhập bất hợp lệ trong dịch vụ thương mại điện 
tử và các dịch vụ Web khác. 
- Thông qua việc phân tích chuỗi truy cập của người dùng để có thể dự báo 
những hành vi của người dùng trong quá trình tìm kiếm thông tin. 
3.2.2. Các kỹ thuật được sử dụng trong khai phá theo sử dụng Web 
Luật kết hợp: Để tìm ra những trang Web thường được truy cập cùng nhau 
của người dùng những lựa chọn cùng nhau của khách hàng trong thương mại 
điện tử. 
Kỹ thuật phân cụm: Phân cụm người dùng dựa trên các mẫu duyệt để tìm ra 
sự liên quan giữa những người dùng Web và các hành vi của họ. 
3.2.3. Những vấn đề trong khai khá theo sử dụng Web. 
Khai phá theo cách dùng Web có 2 việc: Trước tiên, Web log cần được làm 
sạch, định nghĩa, tích hợp và biến đổi. Dựa vào đó để phân tích và khai phá. 
Những vấn đề tồn tại: 
- Cấu trúc vật lý các Web site khác nhau từ những mẫu người dùng truy xuất. 
- Rất khó có thể tìm ra những người dùng, các phiên làm việc, các giao tác. 
Vấn đề chứng thực phiên người dùng và truy cập Web: 
Các phiên chuyển hướng của người dùng: Nhóm các hành động được thực 
hiện bởi người dùng từ lúc họ truy cập vào Web site đến lúc họ rời khỏi Web 
site đó. Những hành động của người dùng trong một Web site được ghi và lưu 
trữ lại trong một file đăng nhập (log file) (file đăng nhập chứa địa chỉ IP của 
máy khách, ngày, thời gian từ khi yêu cầu được tiếp nhận, các đối tượng yêu cầu 
và nhiều thông tin khác như các giao thức của yêu cầu, kích thước đối tượng,...). 
3.2.3.1. Chứng thực phiên người dùng 
Chứng thực người dùng: Mỗi người dùng với cùng một Client IP được xem 
là cùng một người. 
Chứng thực phiên làm việc: Mỗi phiên làm việc mới được tạo ra khi một 
địa chỉ mới được tìm thấy hoặc nếu thời gian thăm một trang quá ngưỡng thời 
gian cho phép (ví dụ 30 phút) đối với mỗi địa chỉ IP. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
72 
3.2.3.2. Đăng nhập Web và xác định phiên chuyển hướng người dùng 
Dịch vụ file đăng nhập Web: Một file đăng nhập Web là một tập các sự ghi 
lại những yêu cầu người dùng về các tài liệu trong một Web site, ví dụ: 
216.239.46.60 - - [04/April/2007:14:56:50 +0200] "GET 
/~lpis/curriculum/C+Unix/ Ergastiria/Week-7/filetype.c.txt HTTP/1.0" 304 - 
216.239.46.100- - [04/April/2007:14:57:33 +0200]"GET /~oswinds/top.html 
HTTP/ 1.0" 200 869 
64.68.82.70 - - [04/April/2007:14:58:25 +0200] "GET /~lpis/systems/rdevice/r-
device_examples.html HTTP/1.0" 200 16792 
216.239.46.133 - - [04/April/2007:14:58:27 +0200] "GET /~lpis/publications/crc-
chapter1. html HTTP/1.0" 304 - 
209.237.238.161 - - [04/April/2007:14:59:11+0200] "GET /robots.txt HTTP/1.0" 
404 276 
209.237.238.161 - - [04/April/2007:14:59:12 +0200] "GET /teachers/pitas1.html 
HTTP/1.0" 404 286 
216.239.46.43 - - [04/April/2007:14:59:45 +0200] "GET /~oswinds/publication 
Nguồn từ:  
Hình 3.7. Minh họa nội dung logs file 
3.2.3.3. Các vấn đề đối với việc xử lý Web log 
- Thông tin được cung cấp có thể không đầy đủ, không chi tiết. 
- Không có thông tin về nội dung các trang đã được thăm. 
- Có quá nhiều sự ghi lại các đăng nhập do yêu cầu phục vụ bởi các proxy. 
- Sự ghi lại các đăng nhập không đầy đủ do các yêu cầu phục vụ bởi proxy. 
- Đặc biệt là việc lọc các mục đăng nhập: Các mục đăng nhập với tên file 
mở rộng như gif, jpeg, jpg. Các trang yêu cầu tạo ra bởi các tác nhân tự động và 
các chương trình gián điệp. 
 - Ước lượng thời gian thăm trang: Thời gian dùng để thăm một trang là 
một độ đo tốt cho vấn đề xác định mức độ quan tâm của người dùng đối với 
trang Web đó, nó cung cấp một sự đánh giá ngầm định đối với trang Web đó. 
- Khoảng thời gian thăm trang: Đó là khoảng thời gian giữa hai yêu cầu 
trang khác nhau liên tiếp. 
- Quy lui: Nhiều người dùng rời trang bởi họ đã hoàn thành việc tìm kiếm 
và họ không muốn thời gian lâu để chuyển hướng. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
73 
3.2.3.4. Phương pháp chứng thực phiên làm việc và truy cập Web 
Chứng thực phiên làm việc: Nhóm các tham chiếu trang của người dùng 
vào một phiên làm việc dựa trên những phương pháp giải quyết heuristic: 
Phương pháp heuristics dựa trên IP và thời gian kết thúc một phiên làm 
việc (ví dụ 30 phút) được sử dụng để chứng thực phiên người dùng. Đây là 
phương pháp đơn giản nhất. 
Các giao tác nội tại của phiên làm việc có thể nhận được dựa trên mô hình 
hành vi của người dùng (bao hàm phân loại tham chiếu “nội dung” hoặc 
“chuyển hướng” đối với mỗi người dùng). 
Trọng số được gán cho mỗi trang Web dựa trên một số độ đo đối với sự 
quan tâm của người dùng (ví dụ khoảng thời gian xem một trang, số lần lui 
tới trang). 
3.2.4. Quá trình khai phá theo sử dụng Web 
Khai phá sử dụng Web có 3 pha [22]: Tiền xử lý, khai phá và phân tích 
đánh giá, biểu diễn dữ liệu. 
3.2.4.1. Tiền xử lý dữ liệu 
Chứng thực người dùng, chứng thực hoạt động truy nhập, đường dẫn đầy 
đủ, chứng thực giao tác, tích hợp dữ liệu và biến đổi dữ liệu. Trong pha này, các 
thông tin về đăng nhập Web có thể được biến đổi thành các mẫu giao tác thích 
hợp cho việc xử lý sau này trong các lĩnh vực khác nhau. 
Trong giai đoạn này gồm cả việc loại bỏ các file có phần mở rộng là gif, 
jpg,... Bổ sung hoặc xóa bỏ các dữ liệu khuyết thiếu như cache cục bộ, dịch vụ 
proxy. Xử lý thông tin trong các Cookie, thông tin đang ký người dùng kết hợp 
với IP, tên trình duyệt và các thông tin lưu tạm. 
Chứng thực giao tác: Chứng thực các phiên người dùng, các giao tác. 
3.2.4.2. Khai phá dữ liệu 
Sử dụng các phương pháp KPDL trong các lĩnh vực khác nhau như luật kết 
hợp, phân tích, thống kê, phân tích đường dẫn, phân lớp và phân cụm để khám 
phá ra các mẫu người dùng. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
74 
+ Phân tích đường dẫn [8][9][22]: Hầu hết các các đường dẫn thường được 
thăm được bố trí theo đồ thị vật lý của trang Web. Mỗi nút là một trang, mỗi 
cạnh là đường liên kết giữa các trang đó. Thông qua việc phân tích đường dẫn 
trong quá trình truy cập của người dùng ta có thể biết được mối quan hệ trong 
việc truy cập của người giữa các đường dẫn liên quan. 
Ví dụ: 
- 70% các khách hàng truy cập vào /company/product2 đều xuất phát từ 
/company thông qua /company/new, /company/products và /company/product1. 
- 80% khách hàng truy cập vào WebSite bắt đầu từ /company/products. 
- 65% khách hàng rời khỏi site sau khi thăm 4 hoặc ít hơn 4 trang. 
+ Luật kết hợp [8]: Sự tương quan giữa các tham chiếu đến các file khác 
nhau có trên dịch vụ nhờ việc sử dụng luật kết hợp. 
Ví dụ: 
- 40% khách hàng truy cập vào trang Web có đường dẫn 
/company/product1 cũng truy cập vào /company/product2. 
- 30% khách hàng truy cập vào /company/special đều thông qua 
/company/product1. 
Nó giúp cho việc phát triển chiến lược kinh doanh phù hợp, xây dựng và tổ 
chức một cách tốt nhất không gian Web của công ty. 
+ Chuỗi các mẫu: Các mẫu thu được giữa các giao tác và chuỗi thời gian. 
Thể hiện một tập các phần tử được theo sau bởi phân tử khác trong thứ tự thời 
gian lưu hành tập giao tác. 
Quá trình thăm của khách hàng được ghi lại trên từng giai đoạn thời gian. 
Ví dụ: 
30% khách hàng thăm /company/products đã thực hiện tìm kiếm bằng 
Yahoo với các từ khóa tìm kiếm. 
60% khách hàng đặt hàng trực tuyến ở /company/product1 thì cũng đặt 
hàng trực tuyến ở /company/product4 trong 15 ngày. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
75 
+ Quy tắc phân loại [22]: Profile của các phần tử thuộc một nhóm riêng 
biệt theo các thuộc tính chung. Ví dụ như thông tin cá nhân hoặc các mẫu 
truy cập. Profile có thể sử dụng để phân loại các phần tử dữ liệu mới được thêm 
vào CSDL. 
Ví dụ: Khách hàng từ các vị trí địa lý ở một quốc gia hoặc chính phủ thăm 
site có khuynh hướng bị thu hút ở trang /company/product1 hoặc 50% khách 
hàng đặt hàng trực tuyến ở /company/product2 đều thuộc nhóm tuổi 20-25 ở Bờ 
biển Tây. 
+ Phân tích phân cụm: Nhóm các khách hàng lại cùng nhau hoặc các phần 
tử dữ liệu có các đặc tính tương tự nhau. 
Nó giúp cho việc phát triển và thực hiện các chiến lược tiếp thị khách hàng 
cả về trực tuyến hoặc không trực tuyến như việc trả lời tự động cho các khách 
hàng thuộc nhóm chắc chắn, nó tạo ra sự thay đổi linh động một WebSite riêng 
biệt đối với mỗi khách hàng. 
3.2.4.3. Phân tích đánh giá 
Phân tích mô hình [22]: Thống kê, tìm kiếm tri thức và tác nhân thông 
minh. Phân tích tính khả thi, truy vấn dữ liệu hướng tới sự tiêu dùng của con 
người. 
Trực quan hóa: Trực quan Web sử dụng lược đồ đường dẫn Web và đưa ra 
đồ thị có hướng OLAP. 
Ví dụ: Querying: SELECT association-rules(A*B*C*) FROM log.data 
WHERE (date>= 970101) AND (domain = ''edu'' )AND (support = 1.0) AND 
(confidence = 90.0) 
3.2.5. Ví dụ khai phá theo sử dụng Web 
Ví dụ này sử dụng phương pháp khai phá phân lớp và phân cụm, luật kết 
hợp có thể được dùng để phân tích số lượng người dùng. Sau đó người thiết kế 
Web có thể đưa ra nhiều dịch vụ khác nhau tại các thời điểm khác nhau theo các 
quy tắc của người dùng truy cập Web site. Chất lượng dịch vụ tốt sẽ thúc đẩy số 
lượng người dùng thăm Web site. Quá trình thực hiện như sau: 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
76 
- Chứng thực người dùng truy cập vào Web site, phân tích những người 
dùng đặc biệt tìm ra những người dùng quan trọng thông qua mức độ truy cập 
của họ, thời gian lưu lại trên đó và mức độ yêu thích trang Web. 
- Phân tích các chủ đề đặc biệt và chiều sâu nội dung Web. Ví dụ, hoạt 
động thường ngày của một quốc gia, giới thiệu các tour,... Quan hệ khá tự nhiên 
giữa người dùng và nội dung Web. Tìm ra những dịch vụ hấp dẫn và tiện lợi với 
người dùng. 
Tùy theo mức độ hiệu quả hoạt động truy cập Web site và điều kiện của 
việc duyệt Web site ta có thể dự kiến và đánh giá nội dung Web site tốt hơn. 
Dựa trên dữ liệu kiểm tra ta xác định mức độ truy xuất của người dùng qua 
việc phân tích một Web site và phân tích yêu cầu phục vụ thay đổi từng giờ, 
từng ngày như sau [16]: 
Thời gian 
Số người 
truy cập 
 Thời gian 
Số người 
truy cập 
00:00-00:59 936 12:00-12:59 2466 
01:00-01:59 725 13:00-13:59 1432 
02:00-02:59 433 14:00-14:59 1649 
03:00-03:59 389 15:00-15:59 1537 
04:00-04:59 149 16:00-16:59 2361 
05:00-05:59 118 17:00-17:59 2053 
06:00-06:59 126 18:00-18:59 2159 
07:00-07:59 235 19:00-19:59 1694 
08:00-08:59 599 20:00-20:59 2078 
09:00-09:59 1414 21:00-21:59 2120 
10:00-10:59 2424 22:00-22:59 1400 
11:00-11:59 2846 23:00-23:59 1163 
Bảng 3.1. Thống kê số người dùng tại các thời gian khác nhau 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
77 
Hình 3.8. Phân tích người dùng truy cập Web 
3.3. Khai phá cấu trúc Web 
WWW là hệ thống thông tin toàn cầu, bao gồm tất cả các Web site. Mỗi 
một trang có thể được liên kết đến nhiều trang. Các siêu liên kết thay đổi chứa 
đựng ngữ nghĩa chung chủ để của trang. Một siêu liên kết trỏ tới một trang Web 
khác có thể được xem như là một chứng thực của trang Web đó. Do đó, nó rất 
có ích trong việc sử dụng những thông tin ngữ nghĩa để lấy được thông tin quan 
trọng thông qua phân tích liên kết giữa các trang Web. 
Sử dụng các phương pháp khai phá người dùng để lấy tri thức hữu ích từ 
cấu trúc Web, tìm ra những trang Web quan trọng và phát triển kế hoạch để xây 
dựng các WebSite phù hợp với người dùng. 
Mục tiêu của khai phá cấu trúc Web là để phát hiện thông tin cấu trúc về 
Web. Nếu như khai phá nội dung Web chủ yếu tập trung vào cấu trúc bên trong 
tài liệu thì khai phá cấu trúc Web cố gắng để phát hiện cấu trúc liên kết của các 
siêu liên kết ở mức trong của tài liệu. Dựa trên mô hình hình học của các siêu 
liên kết, khai phá cấu trúc Web sẽ phân loại các trang Web, tạo ra thông tin như 
độ tương tự và mối quan hệ giữa các WebSite khác nhau. Nếu trang Web được 
0
500
1000
1500
2000
2500
3000
00
:00
-00
: 5
9
01
:00
-01
:59
02
:00
-02
:59
03
:00
-03
:59
04
:00
-04
:59
05
:00
-05
:59
06
:00
-06
:59
07
:00
-07
:59
08
:00
-08
:59
09
:00
-09
:59
10
:00
-10
:59
11
:00
-11
:59
12
:00
-12
:59
13
:00
-13
:59
14
:00
-14
:59
15
:00
-15
:59
16
:00
-16
:59
17
:00
-17
:59
18
:00
-18
:59
19
:00
-19
:59
20
:00
-20
:59
21
:00
-21
:59
22
:00
-22
:59
23
:00
-23
:59
Số người
Th
ời
 gi
an
S
ố
 n
g
ư
ờ
i 
Thời gian 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
78 
liên kết trực tiếp với trang Web khác thì ta sẽ muốn phát hiện ra mối quan hệ 
giữa các trang Web này. Chúng có thể tương tự với nhau về nội dung, có thể 
thuộc dịch vụ Web giống nhau do đó nó được tạo ra bởi cùng một người. Những 
nhiệm vụ khác của khai phá cấu trúc Web là khám phá sự phân cấp tự nhiên 
hoặc mạng lưới của các siêu liên kết trong các Web site của một miền đặc biệt. 
Điều này có thể giúp tạo ra những luồng thông tin trong Web site mà nó có thể 
đại diện cho nhiều miền đặc biệt. Vì thế việc xử lý truy vấn sẽ trở nên dễ dàng 
hơn và hiệu quả hơn. 
+ Việc phân tích liên kết Web được sử dụng cho những mục đích[1]: 
- Sắp thứ tự tài liệu phù hợp với truy vấn của người sử dụng. 
- Quyết định Web nào được đưa vào lựa chọn trong truy vấn. 
- Phân trang. 
- Tìm kiếm những trang liên quan. 
- Tìm kiếm những bản sao của Web. 
+ Web được xem như là một đồ thị [1]: 
- Đồ thị liên kết: Mỗi nút là một trang, cung có hướng từ u đến v nếu có 
một siêu liên kết từ trang Web u sang trang Web v. 
Hình 3.9. Đồ thi liên kết Web 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
79 
- Đồ thị trích dẫn: Mỗi nút cho một trang, không có cung hướng từ u đến v 
nếu có một trang thứ ba w liên kết cả u và v. 
- Giả định: Một liên kết từ trang u đến trang v là một thông báo đến trang v 
bởi trang u. Nếu u và v được kết nối bởi một đường liên kết thì rất có khả năng 
hai trang Web đó đều có nội dung tương tự nhau. 
3.3.1. Tiêu chuẩn đánh giá độ tương tự 
- Khám phá ra một nhóm các trang Web giống nhau để khai phá, ta phải chỉ 
ra sự giống nhau của hai nút theo một tiêu chuẩn nào đó. 
Tiêu chuẩn 1: Đối với mỗi trang Web d1 và d2. Ta nói d1 và d2 quan hệ với 
nhau nếu có một liên kết từ d1 đến d2 hoặc từ d2 đến d1. 
Hình 3.10. Quan hệ trực tiếp giữa 2 trang 
Tiêu chuẩn 2: Đồng trích dẫn: Độ tương tự giữa d1 và d2 được đo bởi số 
trang dẫn tới cả d1 và d2. 
Hình 3.11. Độ tương tự đồng trích dẫn 
Tương tự chỉ mục: Độ tương tự giữa d1 và d2 được đo bằng số trang mà cả 
d1 và d2 đều trở tới. 
Hình 3.12. Độ tương tự chỉ mục 
d1 d2
2 
d1 d2
2 
d1 d2
2 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
80 
3.3.2. Khai phá và quản lý cộng đồng Web 
Cộng đồng Web là một nhóm gồm các trang Web chia sẽ chung những vấn 
đề mà người dùng quan tâm. Các thành viên của cộng đông Web có thể không 
biết tình trạng tồn tại của mỗi trang (và có thể thậm chí không biết sự tồn tại của 
cộng đồng). Nhận biết được các cộng đồng Web, hiểu được sự phát triển và 
những đặc trưng của các cộng đồng Web là rất quan trọng. Việc xác định và 
hiểu các cộng đồng trên Web có thể được xem như việc khai phá và quản 
lý Web. 
Hình 3.13. Cộng đồng Web 
Đặc điểm của cộng đồng Web: 
- Các trang Web trong cùng một cộng đồng sẽ “tương tự” với nhau hơn các 
trang Web ngoài cộng đồng. 
- Mỗi cộng đồng Web sẽ tạo thành một cụm các trang Web. 
- Các cộng đồng Web được xác định một cách rõ ràng, tất cả mọi người 
đều biết, như các nguồn tài nguyên được liệt kê bởi Yahoo. 
- Cộng đồng Web được xác định hoàn chỉnh: Chúng là những cộng đồng 
bất ngờ xuất hiện. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
81 
Cộng đồng Web ngày càng được mọi người quan tâm và có nhiều ứng 
dụng trong thực tiễn. Vì vậy, việc nghiên cứu các phương pháp khám phá cộng 
đồng là rất có ý nghĩa to lớn trong thực tiễn. Để trích dẫn ra được các cộng đồng 
ẩn, ta có thể phân tích đồ thị Web. Có nhiều phương pháp để chứng thực cộng 
đồng như thuật toán tìm kiếm theo chủ đề HITS, luồng cực đại và nhát cắt cực 
tiểu, thuật toán PageRank,... 
3.3.2.1. Thuật toán PageRank 
Google dựa trên thuật toán PageRank [brin98], nó lập chỉ mục các liên kết 
giữa các Web site và thể hiện một liên kết từ A đến B như là xác nhận của B bởi 
A. Các liên kết có những giá trị khác nhau. Nếu A có nhiều liên kết tới nó và C 
có ít các liên kết tới nó thì một liên kết từ A đến B có giá trị hơn một liên kết từ 
C đến B. Giá trị được xác định như thế được gọi là PageRank của một trang và 
xác định thứ tự sắp xếp của nó trong các kết quả tìm kiếm (PageRank được sử 
dụng trong phép cộng để quy ước chỉ số văn bản để tạo ra các kết quả tìm kiếm 
chính xác cao). Các liên kết có thể được phân tích chính xác và hiệu quả hơn đối 
với khối lượng chu chuyển hoặc khung nhìn trang và trở thành độ đo của sự 
thành công và việc biến đối thứ hạng của các trang. 
Hình 3.14. Kết quả của thuật toán PageRank 
PageRank không đơn giản chỉ dựa trên tổng số các liên kết đến. Các tiếp 
cận cơ bản của PageRank là một tài liệu trong thực tế được xét đến quan trọng 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
82 
hơn là các tài liệu liên kết tới nó, nhưng những liên kết về (tới nó) không bằng 
nhau về số lượng. Một tài liệu xếp thứ hạng cao trong các phần tử của PageRank 
nếu như có các tài liệu thứ hạng cao khác liên kết tới nó. Cho nên trong khái 
niệm PageRank, thứ hạng của một tài liệu được dựa vào thứ hạng cao của các tài 
liệu liên kết tới nó. Thứ hạng ngược lại của chúng được dựa vào thứ hạng thấp 
của các tài liệu liên kết tới chúng. 
3.3.2.2. Phương pháp phân cụm nhờ thuật toán HITS 
Thuật toán HITS (Hypertext-Induced Topic Selection) do Kleinberg đề 
xuất, là thuật toán phát triển hơn trong việc 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. 
Định nghĩa: 
- Authority: Là các trang cung cấp thông tin quan trọng, tin cậy dựa trên 
các chủ đề đưa ra. 
- Hub: Là các trang chứa các liên kết đến authorities 
- Bậc trong: Là số các liên kết đến một nút, được dùng để đo độ ủy quyền. 
- Bậc ngoài: Là số các liên kết đi ra từ một nút, nó được sử dụng để đo mức 
độ trung tâm. 
Trong đó: Mỗi Hub trỏ đến nhiều Authority, mỗi Authority thì được trỏ đến 
bởi nhiều Hub. Chúng kết hợp với nhau tạo thành đồ thi phân đôi. 
Hình 3.15. Đồ thị phân đôi của Hub và Authority 
Các Authority and hub thể hiện một quan hệ tác động qua lại để tăng cường 
lực lượng. Nghĩa là một Hub sẽ tốt hơn nếu nó trỏ đến các Authority tốt và 
ngược lại một Authority sẽ tốt hơn nếu nó được trỏ đến bởi nhiều Hub tốt. 
Hub Authoritie 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
83 
Hình 3.16. Sự kết hợp giữa Hub và Authority 
Các bước của phương pháp HITS 
Bước 1: Xác định một tập cơ bản S, lấy một tập các tài liệu trả về bởi 
Search Engine chuẩn được gọi là tập gốc R, khởi tạo S tương ứng với R. 
Bước 2: Thêm vào S tất cả các trang mà nó được trỏ tới từ bất kỳ trang nào 
trong R. 
Thêm vào S tất cả các trang mà nó trỏ tới bất kỳ trang nào trong R 
Với mỗi trang p trong S: 
Tính giá trị điểm số Authority: ap (vector a) 
Tính giá trị điểm số Hub: hp (vector h) 
Với mỗi nút khởi tạo ap và hp là 1/n (n là số các trang) 
Bước 3. Trong mỗi bước lặp tính giá trị trọng số Authority cho mỗi nút 
trong S theo công thức: 
pqq
qp
ha
:
Bước 4. Mỗi bước lặp tính giá trị trọng số Hub đối với mỗi nút trong S theo 
công thức 
pqq
pq
ah
:
1 1 
7 
1 
2 
3 
4 
5 
7 
6 
h(1) = a(5) + a(6) + a(7) a(1) = h(2) + h(3) + h(4) 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
84 
Lưu ý rằng các trọng số Hub được tính toán nhờ vào các trọng số Authority 
hiện tạo, mà các trọng số Authority này lại được tính toán từ các trọng số của 
các Hub trước đó. 
Bước 5. Sau khi tính xong trọng số mới cho tất cả các nút, các trọng số 
được chuẩn hóa lại theo công thức: 
Sp
p
Sp
p handa 1)(1)(
22
Lặp lại bước 3 cho tới khi các hp và ap không đổi. 
Ví dụ: Tập gốc R là {1, 2, 3, 4} 
Hình 3.17. Đồ thị Hub-Authority 
Kết quả tính được như sau: 
Hình 3.18. Giá trị trọng số các Hub và Authority 
Giá trị trọng số của Authority 
Giá trị trọng số của Hub 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
85 
KPDL Web là một lĩnh vực nghiên cứu mới, có triển vọng lớn. Các kỹ 
thuật được áp dụng rộng rãi trên thế giới như KPDL văn bản trên Web, KPDL 
không gian và thời gian liên tục trên Web. Khai phá Web đối với hệ thống 
thương mại điện tử, khai phá cấu trúc siêu liên kết Web,... Cho tới nay kỹ thuật 
KPDL vẫn phải đương đầu với nhiều thử thách lớn trong vấn đề KPDL Web. 
3.4. Áp dụng thuật toán phân cụm dữ liệu trong tìm kiếm và phân 
cụm tài liệu Web 
Ngày nay, nhờ sự cải tiến không ngừng của các Search engine về cả chức 
năng tìm kiếm lẫn giao diện người dùng đã giúp cho người sử dụng dễ dàng 
hơn trong việc tìm kiếm thông tin trên web. Tuy nhiên, người sử dụng thường 
vẫn phải duyệt qua hàng chục thậm chí hàng ngàn trang Web mới có thể tìm 
kiếm được thứ mà họ cần. Theo tâm lý chung, người dùng chỉ xem qua vài chục 
kết quả đầu tiên, họ thiếu kiên nhẫn và không đủ thời gian để xem qua tất cả kết 
quả mà các search engine trả về. Nhằm giải quyết vấn đề này, chúng ta có thể 
nhóm các kết quả tìm kiếm thành thành các nhóm theo các chủ đề, khi đó người 
sử dụng có thể bỏ qua các nhóm mà họ không quan tâm để tìm đến nhóm chủ đề 
quan tâm. Điều này sẽ giúp cho người dùng thực hiện công việc của họ một cách 
hiệu quả hơn. Tuy nhiên vấn đề phân cụm dữ liệu trên Web và chọn chủ đề thích 
hợp để nó có thể mô tả được nội dung của các trang là một vấn đề không đơn 
giản. Trong luận văn này, ta sẽ xem khía cạnh sử dụng kỹ thuật phân cụm để 
phân cụm tài liệu Web dựa trên kho dữ liệu đã được tìm kiếm và lưu trữ. 
3.4.1. Hướng tiếp cận bằng kỹ thuật phân cụm 
Hiện nay, để xác định mức độ quan trọng của một trang web chúng ta có 
nhiều cách đánh giá như PageRank, HITS, …Tuy nhiên, các phương pháp đánh 
giá này chủ yếu đều dựa vào các liên kết trang để xác định trọng số cho trang. 
Ta có thể tiếp cận cách đánh giá mức độ quan trọng theo một hướng khác 
là dựa vào nội dung của các tài liệu để xác định trọng số, nếu các tài liệu "gần 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
86 
nhau" về nội dung thì sẽ có mức độ quan trọng tương đương và sẽ thuộc về cùng 
một nhóm. 
Giả sử cho tập S gồm các trang web, hãy tìm trong tập S các trang chứa nội 
dung câu hỏi truy vấn ta được tập R. Sử dụng thuật toán phân cụm dữ liệu để 
phân tập R thành k cụm (k xác định) sao cho các phần tử trong cụm là tương tự 
nhau nhất, các phần tử ở các cụm khác nhau thì phi tương tự với nhau. 
Từ tập S-R, chúng ta đưa các phần tử này vào một trong k cụm đã được 
thiết lập ở trên. Những phần tử nào tương tự với trọng tâm của cụm (theo một 
ngưỡng xác định nào đó) thì đưa vào cụm này, những phần tử không thỏa mãn 
xem như không phù hợp với truy vấn và loại bỏ nó khỏi tập kết quả. Kế tiếp, 
chúng ta đánh trọng số cho các cụm và các trang trong tập kết quả theo thuật 
toán sau: 
INPUT: tập dữ liệu D chứa các trang gồm k cụm và k trọng tâm 
OUTPUT: trọng số của các trang 
BEGIN 
Mỗi cụm dữ liệu thứ m và trọng tâm Cm ta gán một trọng số tsm. Với các trọng 
tâm Ci, Cj bất kỳ ta luôn có tsi>tsj nếu ti tương tự với truy vấn hơn tj. 
 Với mỗi trang p trong cụm m ta xác định trọng số trang pwm. Với mỗi pwi, pwj 
bất kỳ, ta luôn có pw1>pw2 nếu pw1 gần trọng tâm hơn pw2. 
END 
Hình 3.19. Thuật toán đánh trọng số cụm và trang 
Như vậy, theo cách tiếp cận này ta sẽ giải quyết được các vấn đề sau: 
+ Kết quả tìm kiếm sẽ được phân thành các cụm theo các chủ đề khác nhau, 
tùy vào yêu cầu cụ thể người dùng sẽ xác định chủ đề mà họ cần. 
+ Quá trình tìm kiếm và xác định trọng số cho các trang chủ yếu tập trung 
vào nội dung của trang hơn là dựa vào các liên kết trang. 
+ Giải quyết được vấn đề từ/cụm từ đồng nghĩa trong câu truy vấn của 
người dùng. 
+ Có thể kết hợp phương pháp phân cụm trong lĩnh vực khai phá dữ liệu 
với các phương pháp tìm kiếm đã có. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
87 
 Hiện tại, có một số thuật toán phân cụm dữ liệu được sử dụng trong phân 
cụm văn bản như thuật toán phân cụm phân hoạch (k-means, PAM, CLARA), 
thuật toán phân cụm phân cấp (BIRCH, STC),... Trong thực tế phân cụm theo 
nội dung tài liệu Web, một tài liệu có thể thuộc vào nhiều nhóm chủ đề khác 
nhau. Để giải quyết vấn đề này ta có thể sử dụng thuật toán phân cụm theo cách 
tiếp cận mờ. 
3.4.2. Quá trình tìm kiếm và phân cụm tài liệu 
Về cơ bản, quá trình phân cụm kết quả tìm kiếm sẽ diễn ra theo các bước 
được thể hiện như sau [31]: 
- Tìm kiếm các trang Web từ các Website thỏa mãn nội dung truy vấn. 
- Trích rút thông tin mô tả từ các trang và lưu trữ nó cùng với các URL 
tương ứng. 
- Sử dụng kỹ thuật phân cụm dữ liệu để phân cụm tự động các trang Web 
thành các cụm, sao cho các trang trong cụm “tương tự” về nội dung với nhau 
hơn các trang ngoài cụm. 
Hình 3.20. Các bước phân cụm kết quả tìm kiếm trên Web 
3.4.2.1. Tìm kiếm dữ liệu trên Web 
Nhiệm vụ chủ yếu của giai đoạn này là dựa vào tập từ khóa tìm kiếm để 
tìm kiếm và trả về tập gồm toàn văn tài liệu, tiêu đề, mô tả tóm tắt, URL,… 
tương ứng với các trang đó. 
Dữ liệu web 
Tìm kiếm và 
trích rút dữ liệu 
Tiền xử lý 
Biểu diễn 
dữ liệu 
Áp dụng thuật 
toán phân cụm 
Biểu diễn 
kết quả 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
88 
Nhằm nâng cao tốc độ xử lý, ta tiến hành tìm kiếm và lưu trữ các tài liệu 
này trong kho dữ liệu để sử dụng cho quá trình tìm kiếm (tương tự như các 
Search Engine Yahoo, Google,…). Mỗi phần tử gồm toàn văn tài liệu, tiêu đề, 
đoạn mô tả nội dung, URL,… 
3.4.2.2. Tiền xử lý dữ liệu 
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, xóa bỏ 
các từ dừng, kết hợp các từ có cùng từ gốc, số hóa và biểu diễn văn bản,.. 
3.4.2.2.1. Chuẩn hóa văn bản 
Đây là giai đoạ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ý. Bao gồm: 
+ 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,... 
3.4.2.2.2. Xóa bỏ các từ dừng 
Trong văn bản có những từ mang ít thông tin trong quá trình xử lý, những 
từ có tần số xuất hiện thấp, những từ xuất hiện với tần số lớn nhưng không quan 
trọng cho quá trình xử lý đều được loại bỏ. Theo một số nghiên cứu gần đây cho 
thấy việc loại bỏ các từ dùng có thể giảm bởi được khoảng 20-30% tổng số từ 
trong văn bản. 
Có rất nhiều từ xuất hiện với tần số lớn nhưng nó không hữu ích cho quá 
trình phân cụm dữ liệu. Ví dụ trong tiếng Anh các từ như a, an, the, of, and, to, 
on, by,... trong tiếng Việt như các từ “thì”, “mà”, “là”, “và”, “hoặc”,... Những từ 
xuất hiện với tần số quá lớn cũng sẽ được loại bỏ. 
Để đơn giản trong ứng dụng thực tế, ta có thể tổ chức thành một danh sách 
các từ dừng, sử dụng định luật Zipf để xóa bỏ các từ có tần số xuất hiện thấp 
hoặc quá cao. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
89 
3.4.2.2.3. Kết hợp các từ có cùng gốc 
Hầu hết trong các ngôn ngữ đều có rất nhiều các từ có chung nguồn gốc với 
nhau, chúng mang ý nghĩa tương tự nhau, do đó để giảm bởt số chiều trong biểu 
diễn văn bản, ta sẽ kết hợp các từ có cùng gốc thành một từ. Theo một số nghiên 
cứu [5] việc kết hợp này sẽ giảm được khoảng 40-50% kích thước chiều trong 
biểu diễn văn bản. 
Ví dụ trong tiếng Anh, từ user, users, used, using có cùng từ gốc và sẽ được 
quy về là use; từ engineering, engineered, engineer có cùng từ gốc sẽ được quy 
về là engineer. 
Ví dụ xử lý từ gốc trong tiếng Anh: 
- Nêu một từ kết thúc bằng “ing” thì xóa “ing”, ngoại trừ trường hợp sau 
khi xóa còn lại 1 ký tự hoặc còn lại “th”. 
- Nếu một từ kết thúc bằng “ies” nhưng không phải là “eies” hoặc “aies” thì 
thay thế “ies” bằng “y”..... 
- Nếu một từ kết thúc bằng “es” thì bỏ “s”. 
- Nếu một từ kết thúc bởi "s" và đứng trước nó là một phụ âm khác “s” thì 
xóa “s”. 
- Nếu một từ kết thúc bằng “ed”, nếu trước nó là một phụ âm thì xóa “ed” 
ngoại trừ sau khi xóa từ chỉ còn lại một ký tự, nếu đứng trước là nguyên âm “i” 
thì đổi “ied” thành “y”. 
3.4.2.3. Xây dựng từ điển 
Việc xây dựng từ điển là một công việc rất quan trọng trong quá trình 
vector hóa văn bản, từ điển sẽ gồm các từ/cụm từ riêng biệt trong toàn bộ tập dữ 
liệu. Từ điển sẽ gồm một bảng các từ, chỉ số của nó trong từ điển và được sắp 
xếp theo thứ tự. 
Một số bài báo đề xuất [31] để nâng cao chất lượng phân cụm dữ liệu cần 
xem xét đến việc xử lý các cụm từ trong các ngữ cảnh khác nhau. Theo đề xuất 
của Zemir [19][31] xây dựng từ điển có 500 phần tử là phù hợp. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
90 
3.4.2.4. Tách từ, số hóa văn bản và biểu diễn tài liệu 
Tách từ là công việc hết sức quan trọng trong biểu diễn văn bản, quá trình 
tách từ, vector hóa tài liệu là quá trình tìm kiếm các từ và thay thế nó bởi chỉ số 
của từ đó trong từ điển. 
Ở đây ta có thể sử dụng một trong các mô hình toán học TF, IDF, TF-
IDF,... để biểu diễn văn bản. 
Chúng ta sử dụng mảng W (trọng số) hai chiều có kích thước m x n, với n 
là số các tài liệu, m là số các thuật ngữ trong từ điển (số chiều), hàng thứ j là một 
vector biểu diễn tài liệu thứ j trong cơ sở dữ liệu, cột thứ i là thuật ngữ thứ i 
trong từ điển. Wij là giá trị trọng số của thuật ngữ i đối với tài liệu j. 
Giai đoạn này thực hiện thống kê tần số thuật ngữ ti xuất hiện trong tài liệu 
dj và số các tài liệu chứa ti. Từ đó xây dựng bảng trọng số của ma trận W theo 
công thức sau: 
Công thức tính trọng số theo mô hình IF-IDF: 
Trong đó: 
tfij là tần số xuất hiện của ti trong tài liệu dj 
idfij là nghịch đảo tần số xuất hiện của ti trong tài liệu dj. 
hi là số các tài liệu mà ti xuất hiện. 
n là tổng số tài liệu. 
3.4.2.5. Phân cụm tài liệu 
Sau khi đã tìm kiếm, trích rút dữ liệu và tiền xử lý và biểu diễn văn bản 
chúng ta sử dụng kỹ thuật phân cụm để phân cụm tài liệu. 
INPUT: Tập gồm n tài liệu và k cụm. 
OUTPUT: Các cụm Ci (i=1,..,k) sao cho hàm tiêu chuẩn đạt giá trị cực tiểu. 
BEGIN 
Bước 1. Khởi tạo ngẫu nhiên k vector làm đối tượng trọng tâm của k cụm. 
Wij= )log()]log(1[
i
ijijij
h
n
tfidftf 
 nếu ti  dj 
0 nếu ngược lại (ti dj) 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
91 
Bước 2. Với mỗi tài liệu dj xác định độ tương tự của nó đối với trọng tâm của mỗi 
cụm theo một trong các độ đo tương tự thường dùng (như Dice, Jaccard, Cosine, 
Overlap, Euclidean, Manhattan). Xác định trọng tâm tương tự nhất cho mỗi tài liệu và 
đưa tài liệu vào cụm đó. 
Bước 3. Cập nhận lại các đối tượng trọng tâm. Đối với mỗi cụm ta xác định lại 
trọng tâm bằng cách xác định trung bình cộng của các vector tài liệu trong cụm đó. 
Bước 4. Lặp lại bước 2 và 3 cho đến khi trong tâm không thay đổi. 
END. 
Hình 3.21. Thuật toán k-means trong phân cụm nội dung tài liệu Web 
Vấn đề xác định trọng tâm của cụm tài liệu: Xét một cụm văn bản c, trong 
đó trọng tâm C của cụm c được tính nhờ vào vector tổng D (
cd
dD
) của các 
văn bản trong cụm c: 
|| c
D
C 
Trong đó, |c| là số phần tử thuộc tập tài liệu c. 
Trong kỹ thuật phân cụm, trọng tâm của các cụm được sử dụng để làm đại 
diện cho các cụm tài liệu. 
Vấn đề tính toán độ tương tự giữa 2 cụm tài liệu: Giả sử ta có 2 cụm c1, c2, 
khi đó độ tương tự giữa 2 cụm tài liệu được tính bằng mức độ “gần nhau” giữa 2 
vector trọng tâm C1, C2: Sim(c1,c2)= sim(C1,C2) 
Ở đây, ta hiểu rằng c1 và c2 cũng có thể chỉ gồm một tài liệu vì khi đó có 
thể coi một cụm chỉ gồm 1 phần tử. 
Trong thuật toán k-means, chất lượng phân cụm được đánh giá thông quan 
hàm tiêu chuẩn 
k
i
x iC i
mxE D
1
2
)(
, trong đó x là các vector biểu diễn tài 
liệu, mi là các trọng tâm của các cụm, k là số cụm, Ci là cụm thứ i. 
- Độ phức tạp của thuật toán k-means là O((n.k.d).r). 
Trong đó: n là số đối tượng dữ liệu, k là số cụm dữ liệu, d là số chiều, r là 
số vòng lặp. 
Sau khi phân cụm xong tài liệu, trả về kết quả là các cụm dữ liệu và các 
trọng tâm tương ứng. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
92 
3.4.6. Kết quả thực nghiệm 
+ Dữ liệu thực nghiệm là các trang Web lấy từ 2 nguồn chính sau: 
- Các trang được lấy tự động từ các Website trên Internet, việc tìm kiếm 
được thực hiện bằng cách sử dụng Yahoo để tì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 sau này (dưa liệu gồm hơn 4000 bài về các chủ đề “data mining”, “web 
mining”, “Cluster algorithm”, “Sport”). 
- Tìm kiếm có chọn lọc, phần này được tiến hành lấy thủ công, nguồn dữ 
liệu chủ yếu được lấy từ các Web site: 
Gồm hơn 250 bài báo chủ đề “bóng đá”. 
- Việc xây dựng từ điển, sau khi thống kê tần số xuất hiện của các từ trong 
tập tài liệu, ta áp dụng định luật Zipf để loại bỏ những từ có tần số xuất hiện quá 
cao và loại bỏ những từ có tần số quá thấp, ta thu được bộ từ điển gồm 500 từ. 
Số tài liệu Số cụm 
Thời gian trung bình (giây) 
Tiền xử lý và biểu 
diễn văn bản 
Phân cụm 
tài liệu 
50 10 0,206 0,957 
50 15 0,206 1,156 
100 10 0,353 2,518 
100 15 0,353 3,709 
150 10 0,515 4,553 
150 15 0,515 5,834 
250 10 0,824 9,756 
250 15 0,824 13,375 
Bảng 3.2. Bảng đo thời gian thực hiện thuật toán phân cụm 
Ta thấy rằng thời gian thực hiện thuật toán phụ vào độ lớn dữ liệu và số 
cụm cần phân cụm. Ngoài ra, với thuật toán k-means còn phụ thuộc vào k trọng 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
93 
tâm khởi tạo ban đầu. Nếu k trọng tâm được xác định tốt thì chất lượng và thời 
gian thực hiện được cải thiện rất nhiều. 
Phần giao diện chương trình và một số đoạn mã code điển hình được trình 
bày ở phụ lục. 
3.5. Tổng kết chương 3 
Chương này tác giả đã trình bày một số hướng tiếp cận trong khai phá Web 
như khai phá dữ liệu toàn văn của tài liệu Web, khai phá cấu trúc Web, khai phá 
sử dụng Web và một số thuật toán đang được áp dụng trong khai phá Web. 
Phần này cũng trình bày một số chức năng trong quy trình của hệ thống 
thực nghiệm như tìm kiếm và trích chọn dữ liệu trên Web, tiền xử lý dữ liệu, 
chuẩn hoá văn bản, xoá bỏ từ dừng, xây dựng từ điển, tách từ và biểu diễn văn 
bản, phân cụm tài liệu và đánh giá kết quả thực nghiệm. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
94 
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 
Luận văn đã nêu lên được những nét cơ bản về khai phá dữ liệu, khám phá 
tri thức và những vấn đề liên quan, kỹ thuật phân cụm dữ liệu và đi sâu vào một 
số phương pháp phân cụm truyền thống, phổ biến như phân cụm phân hoạch, 
phân cụm phân cấp, phân cụm dựa trên mật độ, phân cụm dựa trên lưới, phân 
cụm dựa trên mô hình và theo hướng tiếp cận mờ. 
Luận văn tập trung vào một hướng nghiên cứu và phát triển mới trong khai 
phá dữ liệu đó là khai phá Web, một hướng đang thu hút sự quan tâm của nhiều 
nhà khoa học. Phần này trình bày những vấn đề về các hướng tiếp trong khai 
phá Web như khai phá tài liệu Web, khai phá cấu trúc Web và khai phá theo 
hướng sử dụng Web. Một kỹ thuật trong khai phá Web đó là phân cụm dữ liệu 
Web. Tác giả cũng đã trình bày một hướng tiếp cận trong việc sử dụng các kỹ 
thuật phân cụm trong khai phá dữ liệu Web. Đề xuất và xây dựng một chương 
trình thực nghiệm phân cụm tài liệu Web áp dụng trong tìm kiếm dữ liệu với 
thuật toán k-means dựa trên mô hình vector biểu diễn văn bản TF-IDF. 
Lĩnh vực khai phá Web là một vấn đề khá mới mẽ, rất quan trọng và khó, 
bên cạnh những kết quả nghiên cứu đã đạt được nó đã đặt ra những thách thức 
lớn đối với các nhà nghiên cứu. Khai phá Web là một lĩnh vực đầy triển vọng, 
phức tạp và còn là vấn đề mở. Hiện chưa có một thuật toán và mô hình biểu diễn 
dữ liệu tối ưu trong khai phá dữ liệu Web. 
Mặc dù đã cố gắng, nỗ lực hết mình song do thời gian nghiên cứu, trình độ 
của bản thân có hạn và điều kiện nghiên cứu còn nhiều hạn chế nên không thể 
tránh khỏi những khuyết thiếu và hạn chế, tác giả rất mong nhận được những 
góp ý, nhận xét quý báu của quý thầy cô và bạn bè để kết quả của đề tài hoàn 
thiện hơn. 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
95 
Hướng phát triển: 
- Tiếp tục nghiên cứu, đề xuất và cải tiến một số kỹ thuật mới trong phân 
cụm dữ liệu như phân cụm mờ, các thuật toán phân cụm song song,... nhằm 
nâng cao hiệu suất khai phá dữ liệu trên hệ thống dữ liệu lớn, phân tán. 
- Nghiên cứu các mô hình biểu diễn và xử lý văn bản mới như mô hình mờ, 
mô hình tập thô,... nhằm nâng cao hiệu quả xử lý và khai phá dữ liệu đặc biệt là 
xử lý dữ liệu trong môi trường Web.. 
- Áp dụng các kỹ thuật KPDL vào lĩnh vực thương mại điện tử, chính phủ 
điện tử,... 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
96 
PHỤ LỤC 
Chương trình được viết trên nền .NET Framework 2.0 và ngôn ngữ lập 
trình Visual Basic 2005, cơ sở dữ liệu được lưu trữ và quản lý bằng SQL Server 
2005. Sau đây là một số mã lệnh và giao diện xử lý của chương trình. 
Một số modul xử lý trong cương trình 
1. Chuẩn hoá xâu văn bản 
 Private Function Chuanhoa(ByVal S As String) As String 
 For i = 1 To 9 
 S = S.Replace(Str(i) + ".", Str(i)) 
 S = S.Replace(Str(i) + ",", Str(i)) 
 Next 
 i = 0 
 Do While i < S.Length - 1 
 If (Not Char.IsLetterOrDigit(S(i))) And (S(i) " ") 
Then 
 S = S.Remove(i, 1) 
 S = S.Insert(i, " ") 
 Else 
 i = i + 1 
 End If 
 Loop 
 i = 0 
 Do While i < S.Length - 1 
 If ((Char.IsDigit(S(i))) And (Not Char.IsDigit(S(i + 
1)))) Or ((Not Char.IsDigit(S(i))) And 
(Char.IsDigit(S(i + 1)))) Then 
 S = S.Insert(i + 1, " ") 
 i = i + 1 
 End If 
 i = i + 1 
 Loop 
 S = S.ToLower(VN) 
 i = 0 
 Do While i < S.Length - 2 
 If S(i) + S(i + 1) = " " Then 
 S = S.Remove(i, 1) 
 Else 
 i = i + 1 
 End If 
 Loop 
 S = S.Trim 
 Return S 
 End Function 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
97 
2. Xoá từ dừng 
 Private Function XoaTuDung(ByVal S As String) As String 
 For i = 0 To ListTD.Count - 1 
 S = S.Replace(" " + ListTD.Item(i) + " ", " ") 
 Next i 
 i = 0 
 Do While i < S.Length 
 Do While (i < S.Length - 1) And (S(i) = " ") 
 i = i + 1 
 Loop 
 j = i + 1 
 Kt = False 
 Do While (j < S.Length) And (Not Kt) 
 If S(j) " " Then 
 j = j + 1 
 Else 
 Kt = True 
 End If 
 Loop 
 If i = j - 1 Then 
 S = S.Remove(i, 1) 
 End If 
 i = j 
 Loop 
 S = S.Trim() 
 Return S 
 End Function 
3. Xây dựng từ điển 
Private Sub XayDungTuDien(ByVal Doc As ArrayList) 
 For Each S In Doc 
 list = New ArrayList(S.Split(" ")) 
 For Each ST In list 
 If Trim(ST) "" Then 
 i = TuDien.IndexOf(ST) 
 If (i < 0) Then 
 TuDien.Add(Trim(ST)) 
 TuDienTS.Add(1) 
 Else 
 TuDienTS(i) = TuDienTS(i) + 1 
 End If 
 End If 
 Next 
 Next 
 'Sap xep theo giam dan cua tan so tu trong tap Van ban 
 If (TuDien(0) = " ") Or (TuDien(0) = "") Then 
 TuDien.RemoveAt(0) 
 End If 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
98 
 QuikSort(0, TuDien.Count - 1, TuDien, TuDienTS) 
 Do While (TuDien.Count>500) And (TuDienTS(0) > Int(NumDoc * 
(MaxWork / 100))) 
 TuDien.RemoveAt(0) 
 TuDienTS.RemoveAt(0) 
 Loop 
 Do While (TuDien.Count > MaxWork) 
 TuDien.RemoveAt(MaxWork) 
 TuDienTS.RemoveAt(MaxWork) 
 Loop 
 End Sub 
4. Vector hoá văn bản 
 Private Sub VectorVB(ByVal Collect As ArrayList) 
 Vector = Array.CreateInstance(GetType(Byte), NumDoc, 
NumWord) 
 i = 0 
 For Each S In Collect 
 List = New ArrayList(S.Split(" ")) 
 For Each ST In List 
 If Trim(ST) "" Then 
 k = TuDien.IndexOf(ST) 
 If k > 0 Then 
 Vector(i, k) = Vector(i, k) + 1 
 End If 
 End If 
 Next 
 i = i + 1 
 Next 
 End Sub 
5. Xây dựng bảng trọng số 
 Private Sub XDTrongSo(ByVal Vector As Array) 
 Dim thongke(NumWord) As Integer 
 For i = 0 To NumWord - 1 
 thongke(i) = 0 
 For j = 0 To NumDoc - 1 
 If Vector(j, i) > 0 Then 
 thongke(i) = thongke(i) + 1 
 End If 
 Next 
 Next 
 W = Array.CreateInstance(GetType(Double), NumDoc, NumWord) 
 For i = 0 To NumDoc - 1 
 For j = 0 To NumWord - 1 
 If Vector(i, j) > 0 Then 
 W(i, j)=(1 + Math.Log(Vector(i, 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
99 
j)))*(Math.Log(NumDoc)-Math.Log(thongke(j))) 
 Else 
 W(i, j) = 0.0 
 End If 
 Next 
 Next 
 End Sub 
6. Thuật toán k-means 
 Private Sub PhanCumKMean() 
 Randomize(NumDoc) 
 'Buoc 1: KHOI TAO CAC TRONG TAM 
 i = 0 
 Do While i < k 
 r = CInt(Int(NumDoc * Rnd())) 
 If Not rnum.Contains(r) Then 
 rnum.Add(r) 
 For j = 0 To NumWord - 1 
 C(i, j) = W(r, j) 
 Next 
 i = i + 1 
 End If 
 Loop 
 For i = 0 To NumDoc - 1 
 Cum(i) = 0 
 Next 
 check1 = True 
 Do While check1 
 'Buoc 2:Tinh toan khoang cach va xac dinh cum cho cac pt. 
 For i = 0 To NumDoc - 1 
 min = Double.MaxValue 
 Cum(i) = 0 
 For j = 0 To k - 1 
 dis = 0 
 For m = 0 To NumWord - 1 
 temp = W(i, m) - C(j, m) 
 dis = dis + Math.Abs(temp * temp) 
 Next 
 dis = Math.Sqrt(dis) 
 If dis < min Then 
 min = dis 
 Cum(i) = j 
 End If 
 Next 
 Next 
 'Buoc 3: Cap nhat lai Trong tam 
 check1 = False 
 For i = 0 To k - 1 'Cap nhat lan luot Trong tam tung cum 
 For j = 0 To NumWord - 1 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
100 
 n = 0 
 sum = 0 
 For m = 0 To NumDoc - 1 
 If Cum(m) = i Then 
 sum = sum + W(m, j) 
 n = n + 1 
 End If 
 Next 
 sum = sum / n 
 If C(i, j) sumThen 
 C(i, j) = sum 
 check1 = True 
 End If 
 Next 
 Next 
 Loop 
 End Sub 
Một số giao diện chương trình 
1. Công cụ tìm kiếm tự động tài liệu trên Internet và lưu trữ vào CSDL 
2. Công cụ tìm kiếm chọn lọc tài liệu trên Internet và lưu trữ vào CSDL 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
101 
3. Trích chọn dữ liệu, tiền xử lý, xây dựng từ điển và vector hóa văn bản 
4. Phân cụm tài liệu và biểu diễn kết quả 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
102 
TÀI LIỆU THAM KHẢO 
Tài liệu tiếng Việt 
[1] Cao Chính Nghĩa, “Một số vấn đề về phân cụm dữ liệu”, Luận văn thạc sĩ, 
Trường Đại học Công nghệ, ĐH Quốc gia Hà Nội, 2006. 
[2] Hoàng Hải Xanh, “Về các kỹ thuật phân cụm dữ liệu trong data mining”, 
luận văn thạc sĩ, Trường ĐH Quốc Gia Hà Nội, 2005 
[3] Hoàng Thị Mai, “Khai phá dữ liệu bằng phương pháp phân cụm dữ liệu”, 
Luận văn thạc sĩ, Trường ĐHSP Hà Nội, 2006. 
Tài liệu tiếng Anh 
[4] Athena Vakali, Web data clustering Current research status & trends, 
Aristotle University,Greece, 2004. 
[5] Bing Liu, Web mining, Springer, 2007. 
[6] Brij M. Masand, Myra Spiliopoulou, Jaideep Srivastava, Osmar R. Zaiane, 
Web Mining for Usage Patterns & Profiles, ACM, 2002. 
[7] Filippo Geraci, Marco Pellegrini, Paolo Pisati, and Fabrizio Sebastiani, A 
scalable algorithm for high-quality clustering of Web Snippets, Italy, ACM, 2006. 
[8] Giordano Adami, Paolo Avesani, Diego Sona, Clustering Documents in a 
Web Directory, ACM, 2003. 
[9] Hiroyuki Kawano, Applications of Web mining- from Web search engine to 
P2P filtering, IEEE, 2004. 
[10] Ho Tu Bao, Knowledge Discovery and Data Mining, 2000. 
[11] Hua-Jun Zeng, Qi-Cai He, Zheng Chen, Wei-Ying Ma, Jinwen Ma, 
Learning to Cluster Web Search Results, ACM, 2004. 
[12] Jitian Xiao, Yanchun Zhang, Xiaohua Jia, Tianzhu Li, Measuring 
Similarity of Interests for Clustering Web-Users, IEEE, 2001. 
[13] Jiawei Han, Micheline Kamber, Data Mining: Concepts and Techniques, 
University of Illinois at Urbana-Champaign, 1999. 
[14] Khoo Khyou Bun, “Topic Trend Detection and Mining in World Wide 
Web”, A thesis for the degree of PhD, Japan, 2004. 
[15] LIU Jian-guo, HUANG Zheng-hong , WU Wei-ping, Web Mining for 
Electronic Business Application, IEEE, 2003. 
[16] Lizhen Liu, Junjie Chen, Hantao Song, The research of Web Mining, IEEE, 2002 
Khai phá dữ liệu Web bằng kỹ thuật phân cụm 
Hoàng Văn Dũng 
103 
[17] Maria Rigou, Spiros Sirmakessis, and Giannis Tzimas, A Method for 
Personalized Clustering in Data Intensive Web Applications, 2006. 
[18] Miguel Gomes da Costa Júnior, Zhiguo Gong, Web Structure Mining: An 
Introduction, IEEE, 2005. 
[19] Oren Zamir and Oren Etzioni, Web document Clustering: A Feasibility 
Demonstration, University of Washington, USA, ACM, 1998. 
[20] Pawan Lingras, Rough Set Clustering for Web mining, IEEE, 2002. 
[21] Periklis Andritsos, Data Clusting Techniques, University Toronto,2002. 
[22] R. Cooley, B. Mobasher, and J. Srivastava, Web mining: Information and 
Pattern Discovery on the World Wide Web, University of Minnesota, USA, 1998. 
[23] Raghu Krishnapuram, Anupam Joshi, and Liyu Yi, A Fuzzy Relative of the 
K -Medoids Algorithm with Application toWeb Document and Snippet 
Clustering, 2001 
[24] Raghu Krishnapuram,Anupam Joshi, Olfa Nasraoui, and Liyu Yi, Low-
Complexity Fuzzy Relational Clustering Algorithms for Web Mining, IEEE, 2001. 
[25] Raymond and Hendrik, Web Mining Research: A Survey, ACM, 2000 
[26] Rui Wu, Wansheng Tang,Ruiqing Zhao, An Efficient Algorithm for Fuzzy 
Web-Mining, IEEE, 2004. 
[27] T.A.Runkler, J.C.Bezdek, Web mining with relational clustering, 
ELSEVIER, 2002. 
[28] Tsau Young Lin, I-Jen Chiang , “A simplicial complex, a hypergraph, 
structure in the latent semantic space of document clustering”, ELSEVIER, 2005. 
[29] Wang Jicheng, Huang Yuan, Wu Gangshan, and Zhang Fuyan, Web 
Mining: Knowledge Discovery on the Web, IEEE, 1999. 
[30] WangBin, LiuZhijing, Web Mining Research, IEEE, 2003. 
[31] Wenyi Ni, A Survey of Web Document Clustering, Southern Methodist 
University, 2004. 
[32] Yitong Wang, Masaru Kitsuregawa, Evaluating Contents-Link Coupled 
Web Page Clustering for Web Search Results, ACM, 2002. 
[33] Zifeng Cui, Baowen Xu , Weifeng Zhang, Junling Xu, Web Documents 
Clustering with Interest Links, IEEE, 2005. 
            Các file đính kèm theo tài liệu này:
Khai phá dữ liệu Web bằng kỹ thuật phân cụm.pdf