phương pháp phân cụm tài liệu web và áp dụng vào máy tìm kiếm

Transcription

phương pháp phân cụm tài liệu web và áp dụng vào máy tìm kiếm
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thị Thu Hằng
PHƯƠNG PHÁP PHÂN CỤM TÀI LIỆU WEB
VÀ ÁP DỤNG VÀO MÁY TÌM KIẾM
LUẬN VĂN THẠC SỸ
Hà Nội – 2007
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Nguyễn Thị Thu Hằng
PHƯƠNG PHÁP PHÂN CỤM TÀI LIỆU WEB
VÀ ÁP DỤNG VÀO MÁY TÌM KIẾM
Ngành: Công nghệ thông tin.
Mã số: 1.01.10
LUẬN VĂN THẠC SỸ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS HÀ QUANG THỤY
Hà Nội - 2007
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Những lời đầu tiên
Với những dòng chữ đầu tiên này, tôi xin dành để gửi lời cảm ơn chân
thành và sâu sắc nhất tới thầy giáo, tiến sỹ Hà Quang Thụy - người đã tận
tình hướng dẫn, chỉ bảo và tạo cho tôi những điều kiện tốt nhất từ khi bắt
đầu cho tới khi hoàn thành công việc của mình.
Đồng thời xin cảm ơn tất cả những người thân yêu trong gia đình tôi
cùng toàn thể bạn bè, những người đã luôn giúp đỡ và động viên tôi mỗi
khi vấp phải những khó khăn, bế tắc.
Cuối cùng, xin chân thành cảm ơn đồng nghiệp của tôi tại Trung tâm
CNTT, NHNo&PTNT VN những người đã đem đến cho tôi những lời
khuyên vô cùng bổ ích để giúp tháo gỡ những khó khăn, vướng mắc trong
quá trình làm luận văn.
-1-
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
LỜI CAM ĐOAN
Tôi xin cam đoan kết quả đạt được trong luận văn là sản phẩm của
riêng cá nhân, không sao chép lại của người khác. Trong toàn bộ nội dung
của luận văn, những điều được trình bày hoặc là của cá nhân hoặc là được
tổng hợp từ nhiều nguồn tài liệu. Tất cả các tài liệu tham khảo đều có xuất
xứ rõ ràng và được trích dẫn hợp pháp.
Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo
quy định cho lời cam đoan của mình.
Hà Nội, ngày 01 tháng 11 năm 2007
Nguyễn Thị Thu Hằng
-2-
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
MỤC LỤC
DANH MỤC CHỮ VIẾT TẮT ........................................................................................ 5
DANH MỤC HÌNH VẼ, BẢNG BIỂU ............................................................................ 6
MỞ ĐẦU .......................................................................................................................... 7
CHƯƠNG 1 - KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU WEB ................................... 9
1.1. Khai phá dữ liệu Web ....................................................................................... 9
1.1.1.
Giới thiệu về Khai phá dữ liệu .................................................................. 9
1.1.2.
Dữ liệu Web và nhu cầu khai thác thông tin ........................................... 11
1.1.3.
Đặc điểm của dữ liệu Web ...................................................................... 12
1.1.4.
Các hướng tiếp cận khai phá dữ liệu Web .............................................. 13
1.1.5.
Nhu cầu Phân cụm tài liệu Web.............................................................. 14
1.2. Mô hình tìm kiếm thông tin ............................................................................ 15
1.2.1.
Giới thiệu ................................................................................................ 15
1.2.2.
Quy trình tìm kiếm thông tin trong hệ thống .......................................... 15
1.2.3.
Ứng dụng phân cụm vào hệ thống tìm kiếm ........................................... 18
1.3. Kết luận chương 1 ........................................................................................... 19
CHƯƠNG 2 - THUẬT TOÁN PHÂN CỤM WEB ................................................... 20
2.1. Một số nội dung cơ bản về thuật toán phân cụm tài liệu ................................ 20
2.2. Tiêu chuẩn đánh giá thuật toán phân cụm ...................................................... 22
2.3. Các đặc tính của các thuật toán phân cụm web .............................................. 24
2.3.1.
Mô hình dữ liệu....................................................................................... 24
2.3.2.
Độ đo về sự tương tự .............................................................................. 27
2.3.3.
Mô hình phân cụm .................................................................................. 29
2.4. Một số kỹ thuật Phân cụm Web điển hình ...................................................... 30
2.4.1.
Phân cụm theo thứ bậc ............................................................................ 30
2.4.2.
Phân cụm bằng cách phân mảnh ............................................................. 33
2.5. Các yêu cầu đối với các thuật toán phân cụm Web ........................................ 35
2.5.1.
Tách các thông tin đặc trưng................................................................... 35
2.5.2.
Phân cụm chồng lặp ................................................................................ 36
2.5.3.
Hiệu suất ................................................................................................. 36
2.5.4.
Khả năng khử nhiễu ................................................................................ 36
2.5.5.
Tính tăng ................................................................................................. 37
2.5.6.
Việc biểu diễn kết quả ............................................................................ 37
2.6. Bài toán tách từ tự động tiếng Việt ................................................................. 37
2.6.1.
Một số khó khăn trong phân cụm trang Web tiếng Việt ......................... 37
2.6.2.
Tiếng và Từ trong tiếng Việt .................................................................. 39
2.6.3.
Phương pháp tách từ tự động tiếng Việt fnTBL ..................................... 39
2.6.4.
Phương pháp Longest Matching ............................................................. 43
2.6.5.
Kết hợp giữa fnTBL và Longest Matching ............................................. 44
2.7. Kết luận chương 2 ........................................................................................... 44
CHƯƠNG 3 - THUẬT TOÁN PHÂN CỤM CÂY HẬU TỐ VÀ THUẬT TOÁN
CÂY PHÂN CỤM TÀI LIỆU ........................................................................................ 45
3.1. Giới thiệu về thuật toán phân cụm trang Web có tính tăng ............................ 45
3.2. Thuật toán phân cụm cây hậu tố ..................................................................... 46
3.2.1.
Mô tả ....................................................................................................... 46
3.2.2.
Thuật toán STC ....................................................................................... 47
-3-
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
3.3. Thuật toán phân cụm sử dụng cây phân cụm tài liệu ...................................... 51
3.3.1.
Giới thiệu ................................................................................................ 51
3.3.2.
Trích chọn đặc trưng và phân cụm tài liệu ............................................. 51
3.3.3.
Cây phân cụm tài liệu –DC Tree ............................................................ 55
3.4. Kết luận chương 3 ........................................................................................... 60
CHƯƠNG 4 - PHẦN MỀM THỬ NGHIỆM VÀ KẾT QUẢ THỰC NGHIỆM ...... 61
4.1. Giới thiệu ........................................................................................................ 61
4.2. Thiết kế cơ sở dữ liệu ..................................................................................... 62
4.3. Chương trình thử nghiệm ................................................................................ 65
4.4. Kết quả thực nghiệm ....................................................................................... 66
4.5. Kết luận chương 4 ........................................................................................... 69
-4-
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
DANH MỤC CHỮ VIẾT TẮT
AHC: Phân cụm tích tụ theo thứ bậc (Agglomerative Hierarchical
Clustering)
CSDL: Cơ sở dữ liệu
DF: tần suất xuất hiện tài liệu (Document Frequency)
DC-tree: Cây phân cụm tài liệu (Document Clustering Tree)
fnTBL: Học dựa trên sự biến đổi (Fast Transformation-based learning)
FCM: Fuzzy C-means
FCMdd: Fuzzy C-Medoids
IR: Mô hình tìm kiếm thông tin (Information Retrieval)
IDF: tần suất nghịch đảo tài liệu (inverse document frequency)
KDD: Khai phá tri thức (Knowledge Discovery in Databases)
STC: Phân cụm cây hậu tố (Suffix tree clustering)
TF: tần suất xuất hiện (term frequency)
UPGMA: (Unweighter Pair-Group Method using Arithmetic averages)
-5-
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
DANH MỤC HÌNH VẼ, BẢNG BIỂU
-6-
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
MỞ ĐẦU
World Wide Web 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. Khai phá Web là vấn đề nghiên cứu thời sự trong thời gian
gần đây, đã thu hút nhiều nhóm nhà khoa học trên thế giới tiến hành nghiên cứu,
đề xuất các mô hình, phương pháp mới nhằm tạo ra các công cụ hiệu quả hỗ trợ
người dùng trong việc tổng hợp thông tin và tìm kiếm tri thức từ tập hợp các
trang Web khổng lồ trên Internet.
Phân cụm tài liệu Web là một bài toán điển hình trong khai phá Web,
nhằm phân hoạch tập văn bản thành các tập con có tính chất chung, trong đó bài
toán phân cụm các trang Web là kết quả trả về từ máy tìm kiếm là rất hữu dụng
[4-6, 8-15, 18, 19, 22, 24]. Như đã biết, tập hợp các trang Web đáp ứng một câu
hỏi trả về từ máy tìm kiếm nói chung là rất lớn, vì vậy, thuật toán phân cụm văn
bản ở đây cần có được một tính chất rất quan trọng là tính "tăng" theo nghĩa thuật
toán phân cụm không phải thực hiện chỉ trên toàn bộ tập dữ liệu mà có thể được
thực hiện theo cách từ bộ phận dữ liệu tới toàn bộ dữ liệu [4, 6, 11, 14, 15, 24].
Điều đó cho phép thuật toán tiến hành ngay trong giai đoạn máy tìm kiếm đưa
các trang web kết quả về.
Luận văn tập trung khảo sát các phương pháp phân cụm trong Web có tính
chất tăng và thực hiện một số thử nghiệm tích hợp các kết quả nghiên cứu nói trên
vào một phần mềm tải trang Web theo dạng máy tìm kiếm. Đồng thời, luận văn
triển khai một số bước đầu tiên trong việc áp dụng phân cụm cho các trang Web
tiếng Việt. Luận văn xây dựng một phần mềm thử nghiệm và tiến hành các thử
nghiệm phân cụm Web tiếng Việt.
Ngoài Phần Mở đầu, Phần Kết luận và các Phụ lục, nội dung luận văn
được chia thành 4 chương chính:
Chương 1 – Khái quát về khai phá dữ liệu Web. Chương này giới
thiệu những nội dung cơ bản nhất, cung cấp một cái nhìn khái quát về Khai phá
dữ liệu Web. Đồng thời, luận văn cũng mô tả sơ bộ một hệ thống thông tin tìm
kiếm và nhu cầu phân cụm áp dụng cho hệ thống này.
-7-
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Chương 2 – Thuật toán phân cụm Web. Chương này trình bày một
cách khái quát về các thuật toán phân cụm Web, những đặc trưng và yêu cầu đối
với các thuật toán phân cụm Web. Những yêu cầu và độ đo áp dụng cho các thuật
toán phân cụm Web cũng được trình bày trong chương này. Một số kiến thức cơ
bản về tiếng Việt cũng được giới thiệu ở đây.
Chương 3 – Thuật toán phân cụm cây hậu tố và thuật toán cây phân
cụm tài liệu. Chương này đi sâu vào phân tích các thuật toán phân cụm Web có
tính chất tăng. Luận văn tập trung vào hai thuật toán phân cụm Web có tính
“tăng” là thuật toán STC và thuật toán phân cụm có sử dụng cấu trúc cây DC
(DC-tree).
Chương 4 – Phần mềm thử nghiệm và kết quả thực nghiệm. Chương
này trình bày kết quả thực nghiệm phân cụm Web theo phần mềm thử nghiệm
trên cơ sở thuật toán phân cụm DC-tree. Chương trình cài đặt thử nghiệm được
viết trên ngôn ngữ lập trình C# trên nền tảng .Net Framework của Microsoft sử
dụng SQL Server 2000 để lưu trữ cơ sở dữ liệu. Phần mềm đã hoạt động, cho kết
quả phân cụm, tuy nhiên, do thời gian hạn chế nên luận văn chưa tiến hành đánh
giá kết quả phân cụm một cách chính thống.
Phần Kết luận trình bày tổng hợp các kết quả thực hiện luận văn và
phương hướng nghiên cứu tiếp theo về các nội dung của luận văn.
Luận văn đã đạt một số kết quả khả quan bước đầu trong việc nghiên cứu
và triển khai các thuật toán phân cụm Web có tính chất tăng, tuy nhiên, luận văn
không tránh khỏi những sai sót. Rất mong được sự đóng góp ý kiến, nhận xét để
tác giả có thể hoàn thiện được kết quả nghiên cứu.
-8-
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
CHƯƠNG 1 - KHÁI QUÁT VỀ KHAI PHÁ DỮ LIỆU WEB
1.1. Khai phá dữ liệu Web
1.1.1. Giới thiệu về Khai phá dữ liệu
Khái niệm Khai phá dữ liệu (Data Mining)
Khai phá dữ liệu được định nghĩa như một quá trình chắt lọc hay khám
phá tri thức từ một lượng lớn dữ liệu. Thuật ngữ Data Mining ám chỉ việc tìm
một tập nhỏ có giá trị từ một lượng lớn các dữ liệu thô. Có sự phân biệt giữa khái
niệm "Khai phá dữ liệu" với khái niệm "Phát hiện tri thức" (Knowledge
Discovery in Databases - KDD) mà theo đó, khai phá dữ liệu chỉ là một bước
trong quá trình KDD. Quá trình KDD gồm một số bước sau:
• Làm sạch dữ liệu: Loại bỏ nhiễu và các dữ liệu không cần thiết
• Tích hợp dữ liệu: Các nguồn dữ liệu khác nhau tích hợp lại
• Lựa chọn dữ liệu: Các dữ liệu có liên quan đến quá trình phân tích
được lựa chọn từ cơ sở dữ liệu
• 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ý
• Khai phá dữ liệu: Là một trong những bước quan trọng nhất, trong
đó sử dụng những phương pháp thông minh để lựa chọn ra những mẫu
dữ liệu.
• Ước lượng mẫu: Quá trình đánh giá kết quả thông qua một độ đo
nào đó
• Biểu diễn tri thức: Biểu diễn các kết quả một cách trực quan cho
người dùng.
-9-
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Hình 1. Các bước trong KDD
Các hướng tiếp cận và các kỹ thuật trong khai phá dữ liệu
Khai phá dữ liệu đượ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ụ: “50% những người mua máy tính thì cũng
mua máy in”. 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.
- 10 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu tuy là một hướng tiếp cận mới nhưng thu hút được sự
quan tâm của rất nhiều 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 [7,16]:
• Phân tích dữ liệu và hỗ trợ ra quyết định (data analysis & decision
support)
• Đ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)
• .v.v.
1.1.2. Dữ liệu Web và nhu cầu khai thác thông tin
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 ngày 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ông 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 cơ sở dữ
liệu phi cấu trúc (bao gồm dữ liệu văn bản) đã đượ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à giá cả thấp cần 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"
chi phí rẻ hơn rất nhiều mà lại được 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 không gian 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
- 11 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
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
trang Web 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, Google, 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 các yêu cầu như thế của
khách hàng, chúng ta sẽ biết được khách hàng hay tập trung vào nội dung gì trên
trang Web của chúng ta, mà 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. Ngược lai, về phía khách hàng, sau khi
được phục vụ phù hợp yêu cầu, khách hàng sẽ hướng sự quan tâm tới hệ thống
của chúng ta hơn. 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 thời sự và cần được phát triển nghiên cứu.
Như vậy, chúng ta có thể hiểu rằng khai phá Web như là việc trích chọn
ra các thành phần được quan tâm hay được đánh giá là có ích cùng các thông tin
tiềm năng từ các tài nguyên hoặc các hoạt động liên quan tới World-Wide Web
[25, 26].
Một cách trực quan có thể quan niệm khai phá Web là sự kết hợp giữa
Khai phá dữ liệu, Xử lý ngôn ngữ tự nhiên và Công nghệ Web:
Khai phá web = Khai phá dữ liệu + Xử lý ngôn ngữ tự nhiên + World
Wide Web.
1.1.3. Đặc điểm của dữ liệu Web
* Web dường như quá lớn để tổ chức thành một kho dữ liệu phục vụ
Khai phá dữ liệu.
* Độ 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.
- 12 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
* Web là một nguồn tài nguyên thông tin có độ thay đổi cao
* Web phục vụ một cộng đồng người dùng rộng lớn và đa dạng
* Chỉ một phần rất nhỏ của thông tin trên Web là thực sự hữu ích
1.1.4. Các hướng tiếp cận khai phá dữ liệu Web
Như đã phân tích về đặc điểm và nội dung các siêu văn bản ở 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
- 13 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Luận văn này tập trung chủ yếu vào nội dung “khai phá phá nội dung
trang Web” và định hướng vào phân cụm tập trang web là kết quả tìm kiếm của
các máy tìm kiếm.
1.1.5. Nhu cầu phân cụm tài liệu Web
Một trong những bài toán quan trọng trong lĩnh vực khai phá Web là bài
toán phân cụm Web. Phân cụm Web - nói một cách khái quát - là việc tự động
sinh ra các "cụm" (lớp) tài liệu dựa vào sự tương tự của các tài liệu. Các lớp tài
liệu ở đây là chưa biết trước, người dùng có thể chỉ yêu cầu số lượng các lớp cần
phân loại, hệ thống sẽ đưa ra các tài liệu theo từng tập hợp, từng cụm, mỗi tập
hợp chứa các tài liệu tương tự nhau.
Phân cụm Web – hiểu một cách đơn giản - là phân cụm trên tập các tài
liệu được lấy từ Web. Có hai tình huống phân cụm tài liệu. Tình huống thứ nhất
là việc phân cụm trên toàn bộ một CSDL có sẵn gồm rất nhiều tài liệu Web.
Thuật toán phân cụm cần tiến hành việc phân cụm toàn bộ tập dữ liệu thuộc
CSDL đó. Tình huống này thường được gọi là phân cụm không trực tuyến (offline). Tình huống thứ hai thường được áp dụng trên một tập tài liệu nhỏ là tập
hợp các tài liệu do máy tìm kiếm trả về theo một truy vấn của người dùng. Trong
trường hợp này, giải pháp phân cụm được tiến hành kiểu phân cụm trực tuyến
(on-line) theo nghĩa việc phân cụm tiến hành theo từng bộ phận các tài liệu nhận
được. Khi đó, thuật toán phải có tính chất “gia tăng” để tiến hành phân cụm ngay
khi chưa có đủ tài liệu và phân cụm tiếp theo không cần phải tiến hành với dữ
liệu đã được phân cụm trước đó. Do tập tài liệu trên Web là vô cùng lớn cho nên
cách phân cụm trực tuyến là thích hợp hơn và phải đòi hỏi tính "gia tăng" của
thuật toán phân cụm.
Quá trình xử lý truy vấn và kết quả phân hạng được phản hồi từ các máy
tìm kiếm phụ thuộc vào việc tính toán độ tương tự giữa truy vấn và các tài liệu.
Mặc dù các truy vấn liên quan phần nào đến các tài liệu cần tìm, nhưng nó
thường quá ngắn và dễ xảy ra sự nhập nhằng. Như đã biết, trung bình các truy
vấn trên Web chỉ gồm hai đến ba từ do đó gây nên độ nhập nhằng. Chẳng hạn,
truy vấn star dẫn đến sự nhập nhằng rất cao, các tài liệu lấy được liên quan đến
astronomy, plants, animals, popular media and sports figures… Độ tương tự
giữa các tài liệu của một truy từ đơn như vậy là có sự khác nhau rất lớn. Vì lẽ đó,
- 14 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
nếu máy tìm kiếm phân cụm các kết quả theo từng chủ đề thì người dùng có thể
nhanh chóng hiểu kết quả truy vấn hoặc tìm vào một chủ đề xác định.
1.2. Mô hình tìm kiếm thông tin
1.2.1. Giới thiệu
Với sự phát triển nhanh chóng của công nghệ tin học, khối lượng thông
tin lưu trữ trên máy tính ngày càng nhiều, vì vậy cần có các hệ thống tìm kiếm
thông tin (IR: Information Retrieval) cho phép người dùng tìm kiếm một cách
chính xác và nhanh nhất các thông tin mà họ cần trên kho dữ liệu khổng lồ này,
trong đó, Internet chính là một kho dữ liệu như thế. Mục tiêu của hệ thống tìm
kiếm là cung cấp công cụ để trả về cho người dùng các tài liệu trong kho dữ liệu
có liên quan tới câu truy vấn [3,23,25,26]. Đó là nhu cầu chung của hầu hết các
ngôn ngữ và tiếng Việt của chúng ta cũng phải là một ngoại lệ. Khác với các
ngôn ngữ khác, tiếng Việt có nhiều đặc điểm riêng biệt và rất khó xử lý bằng
máy tính, nên các đề tài liên quan đến các hệ thống tìm kiếm tiếng Việt còn rất ít.
Mà nhu cầu tìm kiếm tài liệu trên kho tàng kiến thức của người Việt là rất lớn.
1.2.2. Quy trình tìm kiếm thông tin trong hệ thống
Quy trình của một hệ thống tìm kiếm thông tin như sau [3,23,26]:
• Người dùng muốn xem những tài liệu liên quan tới một chủ đề nào
đó.
• Người dùng cung cấp một mô tả về chủ đề đó dưới dạng câu truy
vấn
• Từ câu truy vấn này hệ thống sẽ lọc ra những cụm từ chỉ mục
• Những cụm từ chỉ mục này sẽ được so khớp với những cụm từ chỉ
mục của các tài liệu đã được xử lý trước đó.
• Những tài liệu nào có mức độ liên quan cao nhất sẽ được trả về cho
người sử dụng.
Mục đích của hệ thống tìm kiếm thông tin là tìm kiếm và hiển thị cho
người dùng một tập các thông tin thoả mãn nhu cầu của họ. Chúng ta định nghĩa
- 15 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
chính xác cho thông tin cần thiết là “câu truy vấn” (query), và các thông tin được
chọn là “tài liệu” (documents). Mỗi cách tiếp cận trong IR bao gồm hai thành
phần chính (1) các kỹ thuật để biểu diễn thông tin (câu truy vấn, tài liệu), và (2)
phương pháp so sánh các cách biểu diễn này. Mục đích là để tự động quy trình
kiểm tra các tài liệu bằng cách tính toán độ tương quan giữa các câu truy vấn và
tài liệu. Quy trình này được đánh giá là thành công khi nó trả về các kết quả
giống với các kết quả được con người tạo ra khi so sánh câu truy vấn với các tài
liệu.
Có một vấn đề thường xảy ra đối với hệ thống tìm kiếm là những từ mà
người dùng đưa ra trong câu truy vấn thường khác xa những từ trong tập tài liệu
chứa thông tin mà họ tìm kiếm. Trường hợp như thế gọi là “paraphrase problem”
(vấn đề về diễn giải). Để giải quyết vấn đề này, hệ thống đã tạo ra các hàm biểu
diễn xử lý các câu truy vấn và các tài liệu một cách khác nhau để đạt tới một độ
tương thích nào đó.
Hình 2. Mô hình hệ thống tìm kiếm thông tin
Gọi miền xác định của hàm biểu diễn câu truy vấn q là Q, tập hợp các câu
truy vấn có thể có; và miền giá trị của nó là R, không gian thống nhất biểu diễn
- 16 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
thông tin. Gọi miền xác định của hàm biểu diễn tài liệu d là D, tập hợp các tài
liệu; và miền giá trị của nó là R2. Miền xác định của hàm so sánh c là R × R và
miền giá trị của nó là [0,1] là tập các số thực từ 0 đến 1. Trong một hệ thống tìm
kiếm lí tưởng:
c(q(query),d(doc)) = j(query,doc), ∀ query ∈ Q, ∀ doc ∈ D,
khi j: Q × D → [0,1] biểu diễn việc xử lý của người dùng giữa các mối quan hệ
của 2 thông tin, được tính dựa trên một tiêu chuẩn nào đó(ví dụ: sự giống nhau
về nội dung hay sự giống nhau về kiểu,...). Hình 2 minh hoạ mối quan hệ này.
Có hai kiểu hệ thống tìm kiếm: tìm kiếm dựa trên so khớp chính xác và dựa
trên sắp xếp. Mô hình trên đây có thể mô tả cả hai cách tiếp cận như thế. Trong
hệ thống tìm kiếm dựa trên so khớp chính xác, miền giá trị của c được giới hạn
hai lựa chọn là 0 và 1, và nó được chuyển sang nhị phân để quyết định liệu 1 tài
liệu có thoả biểu thức bool được xác định bởi câu truy vấn hay không? Các hệ IR
dựa trên sự so khớp chính xác thường cung cấp các tài liệu không sắp xếp thoả
mãn câu truy vấn của người sử dụng, hầu hết các hệ thống tìm kiếm hiện nay đều
dùng cách này. Cách hoạt động chi tiết của hệ thống sẽ được mô tả ở phần sau.
Đối với hệ thống IR dựa trên sắp xếp, thì các tài liệu sẽ được sắp xếp theo thứ
tự giảm dần về mức độ liên quan. Có 3 loại hệ thống tìm kiếm dựa trên sắp xếp:
“ranked Boolean”, “probabilistic” và “similarity base”. Trong 3 cách này thì
miền giá trị của c là [0, 1], tuy nhiên chúng khác nhau ở cách tính “giá trị trạng
thái tìm kiếm” (“retrieval status value”):
• Trong hệ thống dựa trên “ranked Boolean” giá trị này là mức độ mà thông
tin thoả mãn biểu thức Bool được chỉ ra bởi các thông tin còn lại.
• Trong hệ thống dựa trên “probabilistic”, khái niệm này hơi khác một chút,
giá trị này là xác suất mà thông tin có liên quan đến một câu truy vấn. Rất nhiều
hệ thống tìm kiếm dựa trên xác suất được thiết kế để chấp nhận câu truy vấn
được diễn tả bằng ngôn ngữ tự nhiên hơn là một biểu thức bool.
• Trong hệ thống tìm kiếm dựa trên sự giống nhau, giá trị trạng thái tìm
kiếm được tính bằng cách tính mức độ giống nhau của nội dung thông tin.
Trong các hệ thống tìm kiếm dựa trên sự so khớp chính xác, việc đánh giá hệ
thống chủ yếu dựa trên việc đánh giá mức độ liên quan. Giả sử j là giá trị nhị
- 17 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
phân và được cho trước. Nói cách khác, ta giả sử rằng các tài liệu hoặc có hoặc
không có liên quan đến câu truy vấn, và độ liên quan giữa tài liệu và câu truy vấn
do con người xác định là chính xác. Theo giả định này, tính hiệu quả của các hệ
thống tìm kiếm dựa trên so khớp chính xác được đánh giá dựa trên hai đại lượng
thống kê là “độ chính xác” ( precision) và “độ hồi tưởng” (recall). Độ chính xác
là tỷ lệ các tài liệu được chọn, các tài liệu thực sự có liên quan đến các thông tin
mà người dùng cần, độ hồi tưởng là tỉ lệ tài liệu có liên quan được sắp xếp chính
xác theo độ liên quan bởi hệ thống tìm kiếm. Nói cách khác, độ chính xác bằng 1
trừ đi tỷ lệ cảnh báo sai, trong khi đó độ hồi tưởng đo mức độ hoàn chỉnh của
việc tìm kiếm. Về hai độ đo đánh giá này cũng sẽ được đề cập chi tiết trong phần
tiêu chuẩn đánh giá phân cụm cho thuật toán phân cụm ở phía sau.
Việc đánh giá tính hiệu quả của hệ thống tìm kiếm dựa trên sắp xếp là
phức tạp hơn. Một cách tính độ hiệu quả phổ biến cho các hệ thống này “độ
chính xác trung bình”. Nó được tính bằng cách chọn 1 tập lớn hơn các tài liệu ở
đầu danh sách có giá trị hồi tưởng giữa 0 và 1. Phương pháp thường được sử
dụng là phương pháp tính dựa trên 5,7,11 điểm theo độ hồi tưởng. Độ chính xác
sau đó sẽ tính cho từng tập một. Quy trình sẽ được lặp lại cho từng câu truy vấn,
và tương ứng với mỗi độ chính xác trung bình sẽ cho một độ hồi tưởng. Mỗi giá
trị trung bình của những số này sau đó sẽ được tính toán và ghi nhận như một đặc
trưng của hệ thống. Độ chính xác trung bình càng lớn thì càng tốt, và việc so
sánh chỉ thực sự có ý nghĩa khi chúng ta sử dụng cùng một tập tài liệu và câu
truy vấn. Tuy nhiên độ chính xác trung bình cũng làm giảm đi mức độ thay đổi
của các câu truy vấn có các đặc tính khác nhau (ví dụ như số lượng tài liệu có
liên quan khác nhau). Hơn thế nữa, các tài liệu có liên quan thường tập trung ở
đầu danh sách sắp xếp nên thông thường độ chính xác sẽ giảm mỗi khi tập tài
liệu được mở rộng để tăng độ hồi tưởng.
1.2.3. Ứng dụng phân cụm vào hệ thống tìm kiếm
Như vậy, với việc phân tích nhu cầu phân cụm đối với các tài liệu Web,
khi ta xây dựng một hệ thống tìm kiếm thì đồng thời ta cũng sẽ tiến hành tích
hợp module phân cụm vào hệ thống này. Việc phân cụm văn bản như một
phương thức tổ chức các dữ liệu trả lại khác giúp người sử dụng thay vì phải xem
xét chọn lọc danh sách dài các văn bản theo thứ tự để tìm kiếm các văn bản liên
- 18 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
quan thì chỉ cần xem xét trong các lĩnh vực mà người sử dụng quan tâm mà thôi.
Như vậy hệ thống tìm kiếm sẽ trở nên hữu dụng hơn cho người sử dụng.
1.3. Kết luận chương 1
Sự phát triển của Internet dẫn đến nhu cầu tìm kiếm, khai thác, tổ chức,
truy cập và duy trì thông tin đối với người sử dụng thường xuyên hơn. Những
người sử dụng các máy tìm kiếm Web thường bị bắt buộc xem xét chọn lọc
thông qua một danh sách thứ tự dài của các mẩu thông tin văn bản được trả trở
lại bởi các máy tìm kiếm. Yêu cầu phân cụm tài liệu, cụ thể hơn là tài liệu Web
trở thành bài toán cho các nhà khoa học nghiên cứu và giải quyết. Sau đây chúng
ta sẽ nghiên cứu tiếp các vấn đề liên quan tới bài toán phân cụm nêu trên.
- 19 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
CHƯƠNG 2 - THUẬT TOÁN PHÂN CỤM WEB
2.1. Khái quát về các thuật toán phân cụm tài liệu
Như đã trình bày ở chương 1, phân cụm tài liệu đã và đang được nghiên
cứu như là một cách cải tiến hiệu năng cho cách máy tìm kiếm bằng cách phân
cụm trước toàn bộ tập hợp. M. Steinbach và các đồng tác giả [4] đã cung cấp một
số nội dung khái quát về các thuật toán phân cụm tài liệu.
Theo các tác giả [4], rất nhiều thuật toán phân loại tài liệu đã xuất hiện
trong các tài liệu. Các thuật toán Agglomerative Hierarchical Clustering (AHC –
Phân cụm tích tụ có thứ bậc) được sử dụng thường xuyên nhất. Những thuật toán
này thường là chậm khi được áp dụng với một tập lớn các tài liệu. Các phương
thức liên kết đơn (Single-link) và trung bình nhóm (group-average) thường có độ
phức tạp thời gian khoảng O(n2) trong khi liên kết đầy đủ thường mất khoảng
O(n3).
Có nhiều điều kiện kết thúc cho các thuật toán AHC được đưa ra, nhưng
chúng thường là được dựa trên các các quyết định cứng. Những thuật toán này
rất nhạy cảm với các điều kiện dừng – khi thuật toán trộn lỗi nhiều phân cụm tốt,
kết quả có thể là vô nghĩa đối với người dùng. Trong lĩnh vực phân cụm web
những kết quả của các câu truy vấn có thể là cực kỳ nhiều (theo số lượng, độ dài,
kiểu và độ quan hệ với tài liệu), việc nhạy cảm với các điều kiện dừng rất dễ dẫn
đến các kết quả nghèo nàn. Một thuộc tính nữa của phân cụm Web đó là chúng ta
thường xuyên nhận được nhiều phần ko cần thiết. Đó là một kiểu nhiễu có thể
gây giảm độ ảnh hưởng của các tiêu chí ngừng thường được sử dụng hiện nay.
Các thuật toán phân cụm có thời gian tuyến tính là các ứng cử viên cho
yêu cầu về tốc độ đối với các phân cụm online [11].
Những thuật toán này bao gồm thuật toán K-Means có độ phức tạp thời
gian là O(nkT), trong đó k là số lượng của các phân cụm và T là số lượng chu
trình lặp và phương thức Single Pass – O(nK) với K là số lượng phân cụm đã
được tạo ra. Một điểm mạnh của K-Means đó là không giống với các thuật toán
AHC, nó có thể hoạt động trên các phân cụm chồng chéo. Bất lợi chính của nó
đó là nó được coi như là hiệu quả nhất khi các phân cụm đã được tạo ra gần như
- 20 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
làm tròn xấp xỉ trên đơn vị đo đạc được sử dụng. Điều này có nghĩa là không có
lý do để tin rằng những tài liệu đó nên được phân loại vào các phân cụm xấp xỉ.
Phương thức Single Pass cũng gặp phải vấn đề này cũng như gặp phải sự
phụ thuộc thứ tự và có xu hướng đưa ra các phân cụm lớn. Theo [4,11], đây là
một thuật toán phân cụm tăng nổi tiếng nhất.
Buckshot và Fractionation là 2 thuật toán phân cụm nhanh, thời tuyến
tính do Cutting phát triển năm 1992 [4]. Factionation là một sự xấp xỉ với AHC
với việc tìm kiếm cho hai phân cụm gần nhau nhất không được thực hiện một
cách tổng thể thay vào đó là thực hiện một cách cục bộ hoặc trong các vùng giới
hạn. Thuật toán này hiển nhiên sẽ vấp phải cùng nhược điểm với AHC – các điều
kiện dừng độc đoán và hiệu năng thấp khi có nhiều phần không liên quan.
Buckshot là một giải thuận K-Means với việc các phân cụm trung tâm được tạo
ra bởi việc áp dụng phân cụm AHC với một tập mẫu các tài liệu. Việc sử dụng
tập mẫu là có rủi ro khi có thể có người có hứng thú với các phân cụm nhỏ mà có
thể không có trong các mẫu. Tuy nhiên, tuy là các thuật toán nhanh song chúng
không phải là thuật toán phân cụm tăng.
Tất cả các thuật toán được nói ở trên coi một tài liệu là một tập các từ và
không phải một tập các từ có thứ tự, do đó có mất đi các thông tin quan trọng.
Các cụm từ đã được sử dụng từ lâu để cung cấp các chỉ mục từ trong các hệ
thống IR. Việc sử dụng các phân tử từ vựng và các cụm từ có cú pháp đã được
đưa ra để làm tăng khả năng dự đoán mà không cần đến việc phân tích lại tài
liệu. Các cụm từ được sinh ra bởi các phương thức thống kê đơn giản đã và đang
được sử dụng một cách thành công. Nhưng những phương pháp trên chưa được
áp dụng rộng rãi trong việc phân cụm tài liệu.
Ngoài ra, thuật toán sử dụng DC-tree [24] (Document Clustering Tree:
cây phân cụm tài liệu) có thể phân cụm các tài liệu mà không cần tập huấn luyện.
Với DC-tree, một đối tượng dữ liệu đưa vào không bắt buộc phải chèn vào
mức(vị trí) thấp khi không tồn tạo một nút con tương tự cho đối tượng dữ liệu.
Điều này ngăn cản một vài dữ liệu không tương tự từ việc đặt cùng nhau. Kết quả
là thuật toán phân cụm dựa trên cấu trúc DC-tree là ổn định với yêu cầu đưa thêm
tài liệu và dễ chấp nhận các tài liệu “nhiễu”.
- 21 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Trên Web, có một vài nỗ lực để kiểm soát số lượng lớn tài liệu được trả
lại bởi các máy tìm kiếm. Nhiều máy tìm kiếm cung cấp các tính năng tìm kiếm
chọn lọc. Ví dụ, AltaVista gợi ý các từ nên được thêm hoặc loại bỏ khỏi câu truy
vấn. Những từ này được tổ chức theo nhóm, nhưng các nhóm này không đại diện
cho các phân cụm của tài liệu. Máy tìm kiếm Northern Light
(www.nlsearch.com) cung cấp “Custom Search Folders” (Các thư mục tìm kiếm
quen thuộc), các thư mục này được đặt tên bằng một từ hoặc một từ kép và bao
gồm tất cả các tài liệu có chứa cái tên đó. Northern Light không tiết lộ cách thức
sử dụng để tạo ra các thư mục đó cũng như chi phí của nó. Trong chương 3, luận
văn đi sâu nghiên cứu hai thuật toán phân cụm có tính tăng thích hợp cho việc
phân cụm trang Web và hơn nữa là dễ dàng áp dụng cho phân cụm Tiếng Việtthuật toán phân cụm câu hậu tố (STC) và thuật toán phân cụm sử dụng DC-Tree.
2.2. Tiêu chuẩn đánh giá thuật toán phân cụm
Các kết quả của bất cứ một thuật toán phân cụm nào cũng nên được đánh
giá sử dụng một thước đo chất lượng thông tin để chỉ ra “độ tốt” của các phân
cụm kết quả. Việc đánh giá phụ thuộc vào tri thức nào ta ưu tiên trong việc phân
loại đối tượng dữ liệu (Ví dụ, chúng ta đã gán nhãn các dữ liệu hoặc không có sự
phân loại dữ liệu). Nếu dữ liệu chưa được phân loại trước đó, chúng ta cần phải
sử dụng các tiêu chuẩn chất lượng bên trong để cho phép so sánh giữa các tập
phân cụm mà không phải tham khảo các tri thức bên ngoài. Nói theo cách khác,
nếu dữ liệu đã được gán nhãn, chúng ta sử dụng việc phân loại này để so sánh kết
quả phân cụm với các phân loại gốc; độ đo này được biết đến như một độ đo chất
lượng ngoài. Chúng ta sẽ xem qua hai tiêu chuẩn chất lượng ngoài là Entropy và
F-measure) và một tiêu chuẩn chất lượng trong là Overall Similarity.
Entropy
Một độ đo chất lượng ngoài đó là entropy, nó cung cấp một độ đo về
“độ tốt” cho các phân cụm được lấy ra hoặc cho các phân cụm tại một cấp độ
của một phân cụm theo thứ bậc. Entropy cho chúng ta biết sự đồng nhất của một
phân cụm. Một phân cụm càng đồng nhất thì entropy của nó càng giảm và ngược
lại. Entropy của một phân cụm mà chỉ chứa một đối tượng (cân bằng hoàn hảo)
là 0.
- 22 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Coi P là một kết quả phân chia của một thuật toán phân cụm bao gồm m
phân cụm. Với tất cả phân cụm j trong P, chúng ta cần tính toán pij , với pij là khả
năng một thành viên của phân cụm j thuộc vào lớp i. Entropy của mỗi phân cụm j
được tính toán sử dụng công thức chuẩn: E j = − ∑ pij log( pij ) , trong đó việc tính
i
tổng được thực hiện với tất cả các lớp. Tổng entropy của một tập các phân cụm
được tính toán như là tổng cộng entropy của mỗi phân cụm được tính toán dựa
⎛Nj
⎞
× E j ⎟⎟ , trong đó Nj là kích cỡ của
j =1 ⎝ N
⎠
m
theo kích cỡ của mỗi phân cụm: E P = ∑ ⎜⎜
phân cụm j và N là tổng số lượng đối tượng dữ liệu.
Như đã nói ở trên, chúng ta cần phải tạo ra các phân cụm với các entropy
càng nhỏ càng tốt và entropy là một thước đo về độ đồng nhất (tương tự) của các
đối tượng dữ liệu trong phân cụm.
F-measure
Độ đo chất lượng ngoài thứ hai là độ đo F (F-measure), một độ đo gộp ý
tưởng về sự chính xác và khả năng nhớ lại từ thông tin thu về. Sự chính xác và
khả năng nhớ lại của một phân cụm j đối với lớp i được định nghĩa là:
P = precision (i, j ) =
R = recall (i, j ) =
N ij
Ni
N ij
Nj
trong đó Nij là số lượng thành viên của lớp I trong phân cụm j, Nj là số
lượng thành viên của phân cụm j và Ni là số lượng thành viên của lớp i. Độ đo F
của một lớp i được định nghĩa là:
F (i ) =
2 PR
P+R
Trong các mối liên hệ với lớp i, chúng ta tìm ra giá trị độ đo F lớn nhất
trong các phân cụm j đối với nó và giá trị này là điểm của lớp i. Giá trị độ đo F
của kết quả phân cụm P là trung bình trọng số của các độ đo F với mỗi lớp i.
FP =
∑ (i × F (i ))
∑i
i
i
- 23 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Trong đó |i| là số lượng đối tượng trọng lớp i. Giá trị độ đo F càng cao thì
việc phân cụm càng tốt vì độ chính xác càng lớn của việc gắn kết các lớp gốc.
Overall Similarity
Một độ đo chất lượng trong rất hay được sử dụng là độ đo tương tự toàn
diện (Overall Similarity) và được sử dụng khi không có bất cứ thông tin nào từ
bên ngoài như các lớp đã gán nhãn. Độ đo này phân cụm đo sự kết nối của các
phân phân cụm bằng việc sử dụng trọng số tương tự của phân cụm trong
1
S
2
∑ sim( x, y ) , trong đó S là phân cụm được xem xét, và sim(x,y) là độ tương
x∈S
y∈S
tự giữa 2 đối tượng x và y.
2.3. Các đặc tính của các thuật toán phân cụm web
Trước khi chúng ta phân tích và so sánh các thuật toán khác nhau, chúng
ta cần phải định nghĩa một số thuộc tính của các thuật toán và tìm ra các vùng
vấn đề của các thuộc tính này. Phân tích về các phương pháp phân cụm tài liệu
Web sẽ được giới thiệu ở ngày sau phần này.
2.3.1. Mô hình dữ liệu
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éc tơ X = {x1, x2, …, xn} trong đó véc tơ xi, i= 1, …, n
đại diện cho một đối tượng đơn lẻ trong tập dữ liệu và được gọi là véc tơ đặc
trưng (feature vector). Việc tách lọc các đặc trưng cần thiết thông qua véc tơ đặc
trưng phụ thuộc nhiều vào từng lĩnh vực. Số chiều của véc tơ đặ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ó. Tuy nhiên,
một vài lĩnh vực mặc định phải chấp nhận số chiều lớn. Tồn tại một vài phương
pháp làm giảm các vấn đề liên quan đến cỡ, như việc phân tích nguồn gốc thành
phần. Phương pháp Krishnapuram [8] đã có thể làm giảm véc tơ đặc trưng 500
chiều thành véc tơ 10 chiều; tuy nhiên độ chính xác của nó chưa được kiểm
chứng. Từ bây giờ ta tập trung vào việc biểu diễn dữ liệu tài liệu và làm thế nào
để bóc tách các đặc trưng chính xác.
a, Mô hình dữ liệu tài liệu
- 24 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Hầu hết các phương thức phân cụm tài liệu sử dụng mô hình không gian
véc tơ (Vector Space) để biểu diễn các đối tượng tài liệu. Mỗi tài liệu được biểu
diễn bằng một véc tơ d, trong không gian véc tơ, d = {tf1, tf2, …, tfn} trong đó tfi
(i=1,…,n) là tần suất xuất hiện (term frequency – TF) của từ ti trong tài liệu.
Để biểu diễn tất cả các tài liệu với cùng 1 tập từ, chúng ta cần tách tất cả các từ
tìm được trên tổng các tài liệu và sử dụng chúng như véc tơ đặc trưng của chúng
ta. Thỉnh thoảng, một vài phương pháp được sử dụng đã gộp tần suất xuất hiện từ
và tần suất nghịch đảo tài liệu (inverse document frequency TF-IDF). Tần suất
xuất hiện tài liệu dfi là số lượng tài liệu trong tập N tài liệu mà từ ti xuất hiện.
Một thành phần tấn suất nghịch đảo tài liệu (idf) được định nghĩa là log(N/dfi).
Trọng số của từ ti trong tài liệu được định nghĩ là wi= tfi × log(N/dfi) [24]. Để cỡ
của véc tơ đặc trưng là chấp nhận được, chỉ n từ có trọng số lớn nhất trong tất cả
các tài liệu được sử dụng như là n đặc trưng. Wong và Fu [24] đã chỉ ra rằng họ
có thể làm giảm số lượng từ đại diện bằng việc chỉ chọn những từ mà mức độ hồi
tưởng (coverage) đủ trong tập dữ liệu.
Một vài thuật toán [9,24] lặp lại việc sử dụng các tần suất xuất hiện từ
(hoặc trọng số từ) bằng việc sử dụng véc tơ đặc trưng nhị phân, trong đó mỗi
trọng số từ là 1 hoặc 0, phụ thuộc vào từ đó có trong tài liệu hay không. Wong và
Fu [24] phản đối rằng tần suất xuất hiện từ trung bình trong tài liệu web là nhỏ
hơn 2 (dựa theo các thí nghiệm, thống kê), vì nó không chỉ ra độ quan trọng thực
sự của từ, do đó một sự phối với trọng số nhị phân sẽ là thích hợp hơn với vùng
vấn đề này.
Trước khi nói về tách đặc trưng, tập tài liệu sẽ được làm sạch bằng cách
loại bỏ các từ dừng (stop-word: các từ có tần suất xuất hiện nhiều nhưng không
có ý nghĩa như: và, với, …) và áp dụng một thuật toán làm đầy để chuyển đổi các
mẫu từ khác nhau thành một mẫu chuẩn tương đương.
- 25 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Một ví dụ về các stop-word
Một mô hình khác về vấn đề biểu diễn tài liệu được gọi là N-gram. Mô
hình N-gram giả sử rằng tài liệu là một chuỗi các ký tự, và sử dụng một cửa sổ
trượt với kích cỡ n ký tự để quét và tách tất cả các chuỗi n ký tự liên tiếp trong tài
liệu. N-gram là có thể chấp nhận được với các lỗi phát âm nhỏ bởi vì sự rườm rà
trong các kết quả trả về của nó. Mô hình này cũng xử lý được các vấn đề nhỏ về
phụ thuộc ngôn ngữ khi được sử dụng với thuật toán làm đầy. Vấn đề tương tự
trong phương pháp tiếp cận này được dựa trên số lượng n-gram giữa hai tài liệu.
Cuối cùng, một mô hình mới được giới thiệu bởi Zamir và Etzioni [5] là
một phương pháp tiếp cận về cụm từ. Mô hình này tìm kiếm các cụm hậu tố giữa
các tài liệu và xây dựng một cây hậu tố trong đó mỗi nút biểu diễn một phần của
cụm từ (một nút hậu tố) và gắn với nó là các tài liệu chứa cụm từ hậu tố này.
Phương pháp tiếp cận này rõ ràng là nắm được các thông tin quan hệ giữa các từ,
rất có giá trị trong việc tìm kiếm độ tương tự giữa các tài liệu.
b, Mô hình dữ liệu số
Một mô hình trong sáng hơn về dữ liệu đó là mô hình số. Dựa trên ngữ
cảnh vấn đề là có nhiều đặc trưng được tách, trong đó mỗi đặc trưng được biểu
diễn như là một khoảng các giữa các số. Véc tơ đặc trưng luôn luôn ở trong một
- 26 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
cỡ chấp nhận được, và nó phụ thuộc vào vấn đề đang được phân tích. Các
khoảng cách đặc trưng thường được bình thường hóa vì thế mỗi đặc trưng có tác
dụng như nhau khi tính toán độ đo khoảng cách. Độ tương tự trong trường hợp
này là minh bạch vì việc tính toán khoảng cách giữa 2 véc tơ là rất đơn giản
[17].
c, Mô hình phân loại dữ liệu
Mô hình này thường được tìm thấy trong các vấn đề về phân cụm cơ sở
dữ liệu. Thường thì các thuộc tính của bảng cơ sở dữ liệu là được phân loại và có
một vài thuộc tính là kiểu số. Các phương pháp tiếp cận về phân cụm dựa trên
thống kê được dùng để làm việc với kiểu dữ liệu này. Thuật toán ITERATE có
thể coi là một ví dụ về việc làm việc với dữ liệu phân loại trên các dữ liệu thống
kê [18]. Thuật toán K-modes cũng có thể coi là một ví dụ tốt [19].
d, Mô hình dữ liệu kết hợp
Dựa vào các vùng vấn đề, thỉnh thoảng các đối tượng biểu diễn dữ liệu
đặc trưng không có cùng kiểu. Một sự kết hợp giữa các kiểu dữ liệu số, phân
loại, không gian hoặc text có thể được sử dụng. Trong trường hợp này, vấn đề
quan trọng là nghĩ ra một phương pháp có thể nắm giữ tất cả các thông tin một
cách hiệu quả. Một quy trình chuyển đổi nên được áp dụng để chuyển đổi từ một
kiểu dữ liệu này thành một kiểu dữ liệu khác. Thỉnh thoảng một kiểu dữ liệu
không thể áp dụng vào được, lúc đó thuật toán phải được chỉnh sửa để làm việc
với các kiểu dữ liệu khác [18].
2.3.2. Độ đo về sự tương tự
Nhân tố chính trong thành công của bất kỳ một thuật toán phân cụm nào
đó chính là độ đo về sự tương tự của nó. Để có thể nhóm các đối tượng dữ liệu,
một ma trận xấp xỉ đã được sử dụng để tìm kiếm những đối tượng (hoặc phân
cụm) tương tự nhau. Có một số lượng lớn các ma trận tương tượng đã được đề
cập đến trong các tài liệu, ở đây, chúng ta chỉ xem qua một số ma trận thông
thường nhất.
Việc tính toán độ (không) tương tự giữa 2 đối tượng được thực hiện
thông qua các hàm tính khoảng cách (distance), thỉnh thoảng cũng có thể sử
- 27 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
dụng các hàm tính về độ không tương tự (dissimilarity). Với 2 véc tơ đặc trưng x
và y, cần phải tìm ra độ tương tự (hoặc không tương tự) giữa chúng.
Một lớp rất hay được sử dụng của các hàm khoảng cách đó là “gia đình
các khoảng cách Minkowski” [7], được mô tả như phía dưới:
x− y =
n
p
∑x
i
− yi
p
i =1
Trong đó x,y ∈ Rn. Hàm khoảng cách này thực ra là mô tả một họ vô số
các khoảng cách được đưa ra bởi p. Thông số này giả thiết là các giá trị lớn hơn
hoặc bằng 1. Một vài giá trị chung của p và các hàm khoảng cách là:
n
p = 1: Khoảng cách Hamming x − y = ∑ xi − yi
i =1
p = 2: Khoảng cách Euclidean x − y =
n
∑x
i
− yi
2
i =1
p = ∞: Khoảng cách Tschebyshev x − y = maxi=1,2,...,n xi − yi
Một độ đo độ tương tự hay được dùng, đặc biệt là trong phân cụm tài
liệu đó là độ đo liên quan cosine (cosine correlation) (được sử dụng trong [4],
[15], và [13]), được định nghĩa là:
cos( x, y ) =
x. y
x y
trong đó . biểu thị việc nhân vector và ||.|| biểu thị cho độ dài của vector.
Một độ đo hay được dùng khác đó là độ đo Jaccard (được sử dụng trong
[8], [9]), được định nghĩa là:
∑
d ( x, y ) =
∑
n
i =1
n
i =1
min( xi , yi )
max( xi , yi )
trong trường hợp các vector đặc trưng nhị phân, có thể đơn giản hóa
thành:
d ( x, y ) =
x∩ y
x∪ y
- 28 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Cần phải chú ý rằng từ “khoảng cách” không có gì nhập nhằng với
“tương tự”. Những từ này là trái nghĩa với nhau, cho chúng ta biết độ tương tự
giữa 2 đối tượng. Độ tương tự giảm khi khoảng cách tăng. Thêm một điểm cần
chú ý khác đó là nhiều thuật toán sử dụng hàm khoảng cách (hoặc tương tự) để
tính toán sự tương tự giữa 2 phân cụm, một phân cụm và một đối tượng, hai đối
tượng. Việc tính toán khoảng cách giữa 2 phân cụm (hoặc các phân cụm và các
đối tượng) yêu cầu một vector đặc trưng đại diện cho phân cụm.
Thường thì các thuật toán phân cụm thường sử dụng một ma trận tương
tự (similarity matrix). Một ma trận tương tự cỡ N × N ghi nhận các khoảng cách
(hoặc độ tương tự) giữa từng cặp đối tượng. Hiển nhiên ma trận tương tự là một
ma trận đối xứng do đó chúng ta chỉ cần lưu phần trên bên phải hoặc phần dưới
bên trái của nó.
2.3.3. Mô hình phân cụm
Bất cứ thuật toán phân cụm nào cũng thừa nhận một cấu trúc phân cụm
nào đó. Đôi khi cấu trúc phân cụm không thực sự rõ ràng tùy theo nhu cầu của
bản thân thuật toán phân cụm. Ví dụ, thuật toán k-means sử dụng các phân cụm
hình cầu (hoặc các phân cụm lồi). Đó là vì theo cách k-means tìm kiếm phân cụm
trung tâm và cập nhật các đối tượng thành viên. Nếu như không cẩn thận, chúng
ta có thể kết thúc việc phân cụm với các phân cụm kéo dài (elongated cluster),
trong đó kết quả là có ít phân cụm lớn và có nhiều phân cụm rất nhỏ. Wong và
Fu [16] đã đưa ra một giải pháp để giữ kích cỡ phân cụm trong một khoảng nào
đó, nhưng việc giữ kích cỡ phân cụm trong một khoảng nào đó không phải bao
giờ cũng đáng thực hiện. Một mô hình động để tìm kiếm các phân cụm không
thích hợp với cấu trúc của chúng đó là CHAMELEON, được đưa ra bơi Karypis
[13].
Tùy theo vấn đề, chúng ta có thể có các phân cụm tách rời (disjoint)
hoặc các phân cụm chồng chéo (overlapping). Trong ngữ cảnh phân cụm tài liệu
thường mong muốn có các phân cụm chồng chéo bởi vì tài liệu có xu hướng có
nhiều hơn một chủ đề (ví dụ một tài liệu có thể chứa thông tin về đua ô tô và các
công ty ô tô). Một ví dụ khác về việc tạo ra các phân cụm chồng chéo là hệ thống
cây hậu tố (STC) được đưa ra bởi Zamir và Etzionin [5]. Một cách khác để tạo ra
các phân cụm chồng chéo đó là phân cụm mờ trong đó các đối tượng có thể
- 29 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
thuộc vào các phân cụm khác nhau dựa vào các cấp độ khác nhau của tư cách
thành viên [8].
2.4. Một số kỹ thuật Phân cụm Web điển hình
Kỹ thuật phân cụm được chia thành 2 nhóm chính: Phân cụm theo thứ
bậc và phân cụm bằng cách phân mảnh.
2.4.1. Phân cụm theo thứ bậc
Các kỹ thuật phân cụm theo thứ bậc đưa ra một chuỗi các phần chia lồng
vào nhau với một phân cụm gốc ở trên cùng và các phân cụm đơn của các đối
tượng đơn lẻ ở phía dưới. Các phân cụm ở cấp độ trên chứa các phân cụm phía
dưới chúng theo thứ bậc. Kết quả của thuật toán phân cụm theo thứ bậc có thể
xem như một cây, được gọi là một dendogram (Hình 3).
Hình 3: Một ví dụ dendogram của phân cụm sử dụng phân cụm có thứ bậc
Tùy thuộc vào định hướng của việc xây dựng thứ tự, chúng ta có thể chỉ
ra các phương thức của phân cụm theo thứ bậc: tích tụ (Agglomerative) hay
chia xẻ (Divisive). Phương thức tích tụ được sử dụng trong hầu hết các phân cụm
theo thứ bậc.
a, Phân cụm tích tụ theo thứ bậc (AHC)
Phương thức này bắt đầu với tập các đối tượng là các phân cụm đơn lẻ,
tiếp đó, tại mỗi bước kết nối 2 phân cụm giống giau nhất với nhau. Quá trình này
- 30 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
được lặp lại cho đến khi số lượng phân cụm còn lại đạt đến một ngưỡng cho phép
hoặc là nếu cần phải hoàn thành toàn bộ thứ bậc thì quá trình này sẽ tiếp tục cho
đến khi chỉ còn 1 phân cụm. Phân cụm tích tụ làm việc theo mô hình tham ăn
(greedy), trong đó cặp nhóm tài liệu được chọn cho việc tích tụ là cặp mà được
coi là giống nhau nhất theo một số tiêu chuẩn nào đó.
Phương thức này tương đối đơn giản nhưng cần phải định nghĩa rõ việc
tính khoảng cách giữa 2 phân cụm. Có 3 phương thức hay được dùng nhất để tính
toán khoảng cách này được liệt kê ở phía dưới.
• Phương thức kết nối đơn (Single Linkage Method): Độ tương tự giữa 2
phân cụm S và T được tính toán dựa trên khoảng cách ngắn nhất (minimal)
giữa các thành phần nằm trong các phân cụm tương ứng. Phương thức này
còn được gọi là phương pháp phân cụm “láng giềng gần nhất” (“nearest
neighbour).
T − S = min x∈T x − y
y∈S
• Phương thức kết nối toàn bộ (Complete Linkage Method): Độ tương tự
giữa 2 phân cụm S và T được tính toán dựa trên khoảng cách lớn nhất
(maximal) giữa các thành phần thuộc vào các phân cụm tương ứng. Phương
thức này còn được gọi là phương pháp phân cụm “láng giềng xa nhất”
(“furthest neighbour”).
T − S = max x∈T x − y
y∈S
• Phương thức kết nối trung bình (Average Linkage Method): Độ tương tự
giữa 2 phân cụm S và T được tính toán dựa trên khoảng cách trung bình
(average) giữa các thành phần của các phân cụm tương ứng. Phương thức này
xét tất cả các cặp khoảng cách các đối tượng trong các 2 phân cụm. Phương
thức này còn được gọi là UPGMA (Unweighter Pair-Group Method using
Arithmetic averages )
T −S =
∑
x∈T
y∈S
x− y
S .T
- 31 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Karypis [13] đã phản đối các phương thức trên vì cho rằng chúng sử
dụng một mô hình tĩnh của các liên kết và gần gũi của dữ liệu, và đã đưa ra một
mô hình động để tránh được những vấn đề trên. Hệ thống đó được gọi là
CHAMELEON, chỉ gộp 2 phân cụm nếu sự liên kết và gần gũi của các phân cụm
là có quan hệ mật thiết với sự liên kết và gần gũi bên trong các phân cụm.
Các kỹ thuật chất đống thường sử dụng thời gian cỡ Ω(n2) vì đặc trưng
của nó là xem xét tất cả các cặp phân cụm có thể. Hệ thống Phân tán/Tập hợp
(Scatter/Gather) được giới thiệu trong cuốn Cutting [15], đã sử dụng một nhóm
tích tụ trung bình để tìm kiếm các phân cụm hạt nhân (seed) để sử dụng cho
thuật toán chia phân cụm. Tuy nhiên, để tránh thời gian chạy bình phương, họ chỉ
sử dụng nó với một ví dụ nhỏ của các tài liệu để phân cụm. Ngoài ra, phương
thức trung bình nhóm đã được giới thiệu trong Steinbach [4] được coi là tốt hơn
hầu hết các phương thức đo độ tương tự khác do tính ổn định của nó.
b, Phương pháp phân cụm chia xẻ cấp bậc
Những phương thức này làm việc từ trên xuống dưới, bắt đầu với việc
coi toàn bộ các tập dữ liệu là một phân cụm và tại mỗi bước lại phân chia một
phân cụm cho đến khi chỉ còn những phân cụm đơn của các đối tượng riêng lẻ
còn lại. Chúng thường khác nhau bởi 2 điểm: (1) phân cụm nào được phân chia
kế tiếp và (2) làm thể nào để phân chia. Thường thì một tìm kiếm toàn diện được
thực hiện để tìm ra phân cụm để phân tách dựa trên một vài tiêu chuẩn khác
nhau. Một cách đơn giản hơn có thể được sử dụng đó là chọn phân cụm lớn nhất
để chia tách, phân cụm có độ tương tự trung bình ít nhất hoặc sử dụng một tiêu
chuẩn dựa trên cả kích cỡ và độ tương tự trung bình. Trong Steinbach [4] đã làm
một thí nghiệm dựa trên những chiến thuật này và phát hiện ra rằng sự khác nhau
giữa chúng là rất nhỏ, do đó họ đã sắp xếp lại bằng việc chia nhỏ phân cụm lớn
nhất còn lại.
Chi nhỏ một phân cụm cần đưa ra quyết định xem những đối tượng nào
được đưa vào phân cụm con. Một phương pháp được dùng để tìm 2 phân cụm
con sử dụng k-means trả lại kết quả là một kỹ thuật lai ghép được gọi là kỹ thuật
chia cắt k-means (bisecting k-means) [4]. Cũng có một cách khác dựa trên thống
kê được sử dụng bằng thuật toán ITERATE [18], tuy nhiên, không cần thiết phải
- 32 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
chia một phân cụm thành 2 phân cụm con, chúng ta có thể chia nó thành nhiều
phân cụm con, tùy theo kết cấu của các đối tượng.
2.4.2. Phân cụm bằng cách phân mảnh
Lớp thuật toán phân cụm này làm việc bằng cách nhận ra các phân cụm
tiềm năng cùng một lúc trong khi lặp lại việc cập nhật các phân cụm để làm tối
ưu một vài chức năng. Lớp các thuật toán nổi tiếng của nó là thuật toán K-means
và các biến thể của nó. K-means bắt đầu bằng việc chọn lựa ngẫu nhiên k phân
cụm hạt nhân, sau đó đưa các đối tượng vào phân cụm có ý nghĩa gần nó nhất.
Thuật toán lặp lại việc tính toán ý nghĩa của các phân cụm và cấp độ thành viên
của các đối tượng mới. Quá trình xử lý tiếp tục cho đến một số lần lặp nhất định
hoặc khi không còn sự thay đổi nào được phát hiện trong ý nghĩa của các phân
cụm [17]. Các thuật toán K-means có kích cỡ O(nkT) trong đó T là số lượng vòng
lặp. Dù sao, một nhược điểm chính của K-means là nó giả định một cấu trúc phân
cụm cầu và không thể được áp dụng với các miền dữ liệu mà các cấu trúc phân
cụm không phải là hình cầu.
Một biến thể của K-means cho phép sự chồng lặp của các phân cụm đó là
C-means mờ (FCM: Fuzzy C-means). Thay vì có các quan hệ thành viên kiểu nhị
phân giữa các đối tượng và các phân cụm tiêu biểu, FCM cho phép các cấp độ
khác nhau của cấp độ thành viên [17]. Krishnapuram [8] đã đưa ra một phiên bản
đã chỉnh sửa của FCM được coi là Fuzzy C-Medoids (FCMdd) trong đó các ý
nghĩa được thay bằng các ngữ cảnh. Thuật toán này tương đối nhanh và có cỡ là
O(n2) và có cường độ hoạt động nhanh hơn FCM.
Do sự lựa chọn ngẫu nhiên của các phân cụm hạt nhân những thuật toán
này, chúng đối lập với phân cụm có thứ bậc. Do đó kết quả của các lần chạy của
thuật toán là không thực sự ổn định. Một vài phương pháp đã được cải tiến bằng
cách tìm ra các phân cụm hạt nhân ban đầu “tốt” sau đó mới sử dụng các thuật
toán này. Có một ví dụ rất hay trong hệ thống Phân chia/Thu thập [15].
Có một cách tiếp cận gộp cả việc phân cụm phân mảnh và phân cụm lai
ghép đó là thuật toán chia cách K-means (Bisecting K-means) đã nói ở phần
trước. Thuật toán này là một thuật toán phân chia trong đó việc phân chia phân
cụm sử dụng K-means để tìm kiếm 2 phân cụm con. Trong Steinbach đã chỉ ra
- 33 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
rằng hiệu suất của thuật toán Bisecting K-means là tuyệt vời so với K-means bình
thường cũng như UPGMA [4]
Cần phải chú ý rằng một đặc trưng quan trọng của các thuật toán có thứ
bậc là hầu hết đều có cập nhật theo tính tăng và các đối tượng mới có thể được
đưa vào các phân cụm liên quan rất dễ dàng bằng việc lần theo một đường dẫn
nào đó tới vị trí thích hợp. STC [5] và DC- tree [24] là hai ví dụ về các thuật toán
này. Nói theo cách khác các thuật toán phân chia đồng loạt thường yêu cầu việc
cập nhật đồng loạt về ý nghĩa của các phân cụm và thậm chí là các đối tượng
thành viên. Việc cập nhật có tính tăng là rất cần thiết với các ứng dụng hoạt động
on-line.
Một phương pháp nhằm thi hành thuật toán phân cụm là phân hoạch tập
tài liệu vào k tập con hoặc các cụm D1, …, Dk để làm cực tiểu khoảng cách bên
trong cụm
cụm
d1 , d 2∈ D i
d 1 , d 2 ∈ Di
ρ (d1 , d 2 ) .
i
∑∑
i
∑∑
δ ( d 1 , d 2 ) hoặc làm cực đại sự tương tự bên trong
Nếu một biểu diễn bên trong của các tài liệu là có giá trị thì biểu diễn này
cũng được dùng để xác định một biểu diễn của các cụm liên quan đến cùng mô
hình. Chẳng hạn, nếu các tài liệu được biểu diễn sử dụng mô hình không gian
vector, một cụm của các tài liệu có thể được biểu diễn bởi trọng tâm (trung bình)
của các tài liệu vector. Khi một biểu diễn cụm là có giá trị, một mục tiêu có thể
phân hoạch D thành D1, …,Dk để cực tiểu hóa
đại hóa
∑∑
i
d ∈ Di
∑∑
i
G
d ∈Di
δ ( d , D i ) hoặc cực
G
ρ ( d , D i ) trong đó Di là biểu diễn vector của cụm i. Có thể
xem xét tới việc gán tài liệu d cho cụm i như việc đặt một giá trị Boolean zd,i là 1.
Điều này có thể phát sinh ra việc phân cụm mềm tại đó zd,i là một số thực từ 0
đến 1. Trong bối cảnh như vậy, ta có thể muốn tìm zd,i để cực tiểu hóa
G
∑i ∑d∈D δ (d , Di ) hoặc cực đại hóa
i
∑∑
i
G
d ∈ Di
ρ (d , Di ) .
Việc phân hoạch có thể thực hiện theo hai cách. Bắt đầu với mỗi tài liệu
trong một nhóm của nó và kết hợp các nhóm tài liệu lại với nhau cho đến khi số
các phân hoạch là phù hợp; cách này gọi là phân cụm bottom-up. Cách khác là có
- 34 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
thể khai báo số các phân hoạch mong muốn và gán các tài liệu vào các phân
hoạch; cách này gọi là phân cụm top-down.
Có thể xem xét một kỹ thuật phân cụm bottom-up dựa vào quá trình lặp
lại việc trộn các nhóm của các tài liệu tương tự nhau cho đến khi đạt được số
cụm mong muốn, và một kỹ thuật top-down sẽ làm mịn dần bằng cách gắn các
tài liệu vào các cụm được thiết đặt trước. Kỹ thuật bottom-up thường chậm hơn,
nhưng có thể được sử dụng trên một tập nhỏ các mẫu để khởi tạo các cụm ban
đầu trước khi thuật toán top-down tiến hành
2.5. Các yêu cầu đối với các thuật toán phân cụm Web
Trong các thảo luận trước đó về các thuật toán phân cụm việc cần phải
nhận ra các yêu cầu cho các thuật toán phân cụm tài liệu là cần thiết, việc này sẽ
giúp chúng ta thiết kế ra các giải pháp hiệu quả và thiết thực hơn hướng tới các
yêu cầu này. Tiếp đây là một danh sách của các yêu cầu này.
2.5.1. Tách các thông tin đặc trưng
Vấn đề cốt lõi của bất cứ vấn đề phân cụm nào nằm hầu hết ở việc lựa
chọn các tập đại diện của các đặc trưng của mô hình dữ liệu. Tập các đặc trưng
được tách ra cần phải có đủ thông tin để nó có thể biểu diễn dữ liệu thực sự đang
được phân tích. Ngược lại, dù thuật toán tốt đến mấy, nó sẽ vô dụng nếu như sử
dụng những đặc trưng không chứa thông tin. Hơn nữa, việc làm giảm số lượng
đặc trưng là rất quan trọng vì số chiều của không gian đặc trưng luôn có tác động
đến hiệu suất của thuật toán. Một so sánh được hoàn thành bởi Yang và Pedersen
[20] về hiệu quả của các phương pháp tách đặc trưng trong việc chia loại văn bản
đã chỉ ra rằng phương pháp ngưỡng tần suất xuất hiện tài liệu (DF) cho những
kết quả tốt hơn các phương thức khác và cũng cần ít các xử lý tính toán hơn.
Hơn nữa, như đã đề cập ở trên, Wong và Fu [24] đã chỉ ra rằng họ có thể làm
giảm số lượng từ đại diện bằng việc chỉ chọn các từ có ý nghĩa trong tập tài liệu.
Mô hình tài liệu cũng thực sự rất quan trọng. Hầu hều các mô hình hay
được sử dụng đều dựa trên các từ khác nhau được tách lọc từ tập tất cả các tài
liệu và tính toán tần suất xuất hiện của từ cũng như tần suất xuất hiện của tài liệu
như đã nói ở phần trước. Một mô hình tài liệu khác là mô hình dựa trên cụm từ,
- 35 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
như mô hình được Zamir và Eztioni [5] đưa ra trong đó chúng tìm kiếm các cụm
từ hậu tố có cùng điểm chung trong tài liệu sử dụng cấu trúc cây hậu tố.
2.5.2. Phân cụm chồng lặp
Với tập dữ liệu bất kỳ, đặc biệt là trong lĩnh vực web, sẽ có xu hướng
chứa một hoặc nhiều chủ đề. Khi phân cụm tài liệu, việc đưa những tài liệu vào
các phân cụm liên quan với nó là cần thiết, điều này có nghĩa là vài tài liệu có thể
thuộc vào nhiều hơn một phân cụm. Một mô hình phân cụm chồng lặp cho phép
việc phân cụm tài liệu với nhiều chủ đề này. Có rất ít thuật toán cho phép phân
cụm chồng lặp trong đó có phân cụm mờ [8] và cây hậu tố [5]. Trong vài trường
hợp nếu việc mỗi tài liệu bắt buộc phải thuộc một phân cụm, một thuật toán
không chồng lặp sẽ được sử dụng hoặc một tập của các phân cụm độc lập có thể
được tạo ra bởi phân cụm mờ sau khi làm rõ các mối liên hệ giữa các phân cụm.
2.5.3. Hiệu suất
Trong lĩnh vực web, mỗi một câu lệnh tìm kiếm có thể trả về hàng trăm
và thỉnh thoảng là hàng nghìn trang web. Việc phân cụm các kết quả này trong
một thời gian chấp nhận được là rất cần thiết. Cần phải chú ý rằng một vài hệ
thống đã giới thiệu chỉ phân cụm trên các đoạn tin được trả lại trên hầu hết các
máy tìm kiếm chứ không phải toàn bộ trang web [5]. Đây là một chiến thuật hợp
lý trong việc phân cụm kết quả tìm kiếm nhanh nhưng nó không chấp nhận được
với phân cụm tài liệu vì các đoạn tin không cung cấp đầy đủ thông tin về nội
dung thực sự của những tài liệu này. Một thuật toán phân cụm online nên có khả
năng hoàn thành trong thời gian tuyến tính nếu có thể. Một thuật toán offline
thường hướng tới việc đưa ra các phân cụm có chất lượng cao hơn.
2.5.4. Khả năng khử nhiễu
Một vấn đề có thể xảy ra với nhiều thuật toán phân cụm đó là sự xuất
hiện của nhiễu và các dữ liệu thừa. Một thuật toán phân cụm tốt phải có khả năng
giải quyết những kiểu nhiễu này và đưa ra các phân cụm có chất lượng cao và
không bị ảnh hưởng bởi nhiễu. Trong phân cụm có thứ bậc, ví dụ các tính toán
khoảng cách láng giềng gần nhất và láng giềng xa nhất, rất nhạy cảm với các dữ
- 36 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
liệu thừa do đó không nên được sử dụng nếu có thể. Phương thức trung bình kết
nối là thích hợp nhất với dữ liệu bị nhiễu.
2.5.5. Tính tăng
Một đặc trưng rất đáng quan tâm trong các lĩnh vực như web đó là khả
năng cập nhật phân cụm có tính tăng. Những tài liệu mới cần phải được đưa vào
các phân cụm tương ứng mà không phải phân cụm lại toàn bộ tập tài liệu. Những
tài liệu đã được chỉnh sửa nên được xử lý lại và đưa đến các phân cụm tương ứng
nếu có thể. Thật đáng để nhớ rằng tính tăng càng hiệu quả thì hiệu suất cũng
được cải thiện.
2.5.6. Việc biểu diễn kết quả
Một thuật toán phân cụm là tốt nếu nó có khả năng biểu diễn một sự mô
tả của các phân cụm mà nó đưa ra ngắn gọn và chính xác với người sử dụng. Các
tổng kết của phân cụm nên có đủ tiêu biểu về nội dung tương ứng để người sử
dụng có thể đưa ra quyết định nhanh xem phân cụm nào mà họ cảm thấy quan
tâm.
2.6. Bài toán tách từ tự động tiếng Việt
Đối với tiếng Anh, ta tách từ dựa vào khoảng trắng. Tuy nhiên đối với
tiếng Việt, công việc này tương đối khó khăn. Cấu trúc tiếng Việt rất phức tạp,
không chỉ đơn thuần dựa vào khoảng trắng để tách từ. Hiện nay có rất nhiều công
cụ để tách từ tiếng Việt, mỗi phương pháp có ưu, khuyết điểm riêng và tất nhiên,
chưa thể coi rằng là phương pháp tách từ nào là tốt nhất. Phần này trình bày một
vài phương pháp tách từ tiếng Việt. Nhưng trước đó chúng ta sẽ xem xét một số
khó khăn trong phân cụm trang Web tiếng Việt.
2.6.1. Một số khó khăn trong phân cụm trang Web tiếng Việt
Hiện nay, chúng ta đã quen thuộc với rất nhiều công cụ hỗ trợ việc tìm
kiếm thông tin như Google, Yahoo Search, AltaVista, ... Tuy nhiên, đây là công
cụ của người nước ngoài nên chúng chỉ giải quyết tốt đối với các yêu cầu của họ.
Chúng ta cũng có một số công cụ hỗ trợ tìm kiếm thông tin tiếng Việt như:
Vinaseek, Netnam, ... Các công cụ này cũng tách từ chủ yếu dựa vào khoảng
- 37 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
trắng nên việc tìm kiếm cũng chưa được cải thiện. Nhìn chung, để xây dựng một
hệ thống tìm kiếm thông tin Tiếng Việt, chúng ta gặp khó khăn trong việc tách từ
Tiếng Việt và xác định bảng mã tiếng Việt. Đồng thời đó cũng chính là khó khăn
trong việc phân cụm các tài liệu bằng tiếng Việt vì bước đầu tiên của phân cụm
cũng chính là tách từ tiếng Việt [1].
Vấn đề bảng mã Tiếng Việt
Không như tiếng Anh, tiếng Việt có rất nhiều bảng mã đòi hỏi phải xử
lý. Một số công cụ tìm kiếm tiếng Việt hỗ trợ bảng mã rất tốt như Vinaseek, hỗ
trợ mọi bảng mã (VNI, TCVN3, ViQR, ...)
Khó khăn trong tách từ Tiếng Việt
Có thể nói tách từ là giai đoạn khó khăn nhất khi xây dựng một hệ tìm
kiếm thông tin Tiếng Việt và phân cụm tài liệu Tiếng việt. Đối với tiếng Anh,
việc xác định từ chỉ đơn giản dựa vào khoảng trắng để tách từ. Ví dụ, câu “I am a
student” sẽ được tách thành 4 từ: I, am, a, student. Tuy nhiên, đối với Tiếng Việt,
tách dựa vào khoảng trắng chỉ thu được các tiếng. Từ có thể được ghép từ một
hay nhiều tiếng. Từ phải có ý nghĩa hoàn chỉnh và có cấu tạo ổn định. Câu “Tôi
là một sinh viên” được tách thành 4 từ: Tôi, là, một, sinh viên. Trong đó, từ “sinh
viên” được hình thành từ hai tiếng “sinh” và “viên”.
Hiện nay có rất nhiều phương pháp được sử dụng để tách từ Tiếng Vịêt.
Tuy nhiên, với sự phức tạp của ngữ pháp Tiếng Việt nên chưa có phương pháp
nào đạt được chính xác 100%. Và việc lựa chọn phương pháp nào là tốt nhất
cũng đang là vấn đề tranh cãi.
Các khó khăn khác
Tiếng Việt có các từ đồng nghĩa nhưng khác âm. Các công cụ hiện nay
không hỗ trợ việc xác định các từ đồng nghĩa. Vì vậy, kết qủa trả về sẽ không
đầy đủ.
Ngược lại, có những từ đồng âm khác nghĩa. Các hệ thống sẽ trả về các
tài liệu có chứa các từ đã được tách trong câu hỏi mà không cần xác định chúng
có thực sự liên quan hay không. Vì vậy, kết quả trả về sẽ không chính xác.
Một số từ xuất hiện rất nhiều nhưng không có ý nghĩa trong tài liệu. Các
từ như: và, với, nhưng, ... có tần số xuất hiện rất lớn trong bất cứ văn bản nào.
- 38 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Nếu tìm cách trả về các tài liệu có chứa những từ này sẽ thu được kết quả vô ích,
không cần thiết. Do đó, chúng ta cần tìm cách loại bỏ các từ này trước khi tìm
kiếm.
2.6.2. Tiếng và Từ trong tiếng Việt
Về mặt ngữ âm, tiếng là âm tiết. Âm tiết bao gồm những đơn vị ở bậc
thấp hơn gọi là âm vị. Mỗi âm vị được ghi bằng một ký tự gọi là chữ.
Về mặt ngữ nghĩa, tiếng là đơn vị nhỏ nhất có nghĩa, nhưng cũng có một
số tiếng không có nghĩa.
Về giá trị ngữ pháp, tiếng là đơn vị cấu tạo từ. Sử dụng tiếng để tạo
thành từ, ta có hai trường hợp sau:
- Từ một tiếng: gọi là từ đơn. Trường hợp này một từ chỉ có một tiếng.
Ví dụ như: ông, bà, cha, mẹ, ...
- Từ hai tiếng trở lên: gọi là từ phức. Trường hợp này một từ có thể có
hai hay nhiều tiếng trở lên. Ví dụ như: xã hội, an ninh, hợp tác xã, ...
Từ là đơn vị nhỏ nhất để tạo thành câu. Trong đặt câu chúng ta dùng từ
chứ không dùng tiếng.
2.6.3. Phương pháp tách từ tự động tiếng Việt fnTBL
Ý tưởng chính của phương pháp học dựa trên sự biến đổi (TBL) là để
giải quyết một vấn đề nào đó ta sẽ áp dụng các phép biến đổi, tại mỗi bước, phép
biến đổi nào cho kết quả tốt nhất sẽ được chọn và được áp dụng lại với vấn đề đã
đưa ra. Thuật toán kết thúc khi không còn phép biến đổi nào được chọn. Hệ
thống fnTBL (Fast Transformation-based learning) gồm hai tập tin chính [1]:
- Tập tin dữ liệu học (Training): Tập tin dữ liệu học được làm thủ công,
đòi hỏi độ chính xác. Mỗi mẫu (template) được đặt trên một dòng riêng biệt. Ví
dụ: tập dữ liệu học cho việc xác định từ loại của một văn bản có thể được định
dạng như sau:
Công ty danhtu
ISA danhturieng
bị dongtu
- 39 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
kiểm tra. dongtu
Trong ví dụ này mỗi mẫu gồm hai phần: phần đầu tiên là từ, phần thứ hai
là từ loại tương ứng.
- Tập tin chứa các mẫu luật (rule template): Mỗi luật được đặt trên một
dòng, hệ thống fnTBL sẽ dựa vào các mẫu luật để áp dụng vào tập dữ liệu học.
Ví dụ:
chunk_ -2 chunk_-1 => chunk
Áp dụng đối với việc xác định từ loại, với chunk_-2 = động từ, chunk_-1
= số từ, chunk = danh từ thì luật trên có ý nghĩa như sau: nếu hai từ trước đó là
động từ và số từ thì chuyển từ loại hiện hành thành danh từ.
Áp dụng để tách từ Tiếng Việt:
Ta có thể áp dụng phương pháp fnTBL để tách từ Tiếng Việt, chỉ cần
thay đổi một số định dạng cho phù hợp.
- Xây dựng tập tin dữ liệu học: Tập tin dữ liệu cho việc tách từ Tiếng Việt
có dạng như sau:
Vì B
sao B
công B
ty I
ISA B
bị B
đặt B
vào B
tình B
trạng I
...
Các ký tự B, I gọi là các chunk có ý nghĩa như sau:
- 40 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Tiếng có chunk = B nghĩa là tiếng đó bắt đầu một từ (begin)
Tiếng có chunk = I nghĩa là tiếng đó nằm trong một từ (inside).
- Xây dựng tập tin chứa các mẫu luật: Sau khi tìm hiểu về từ trong Tiếng
Việt, ta xây dựng được 3 luật áp dụng cho tách từ tiếng Việt như sau:
chunk_0 word_0 => chunk
chunk_0 word_-1 word_0 => chunk
chunk_0 word_0 word_1 => chunk
a, Quá trình học:
(1) Từ tập dữ liệu học xây dựng từ điển các từ
(2) Khởi tạo các từ
(3) Rút ra tập luật
Ở bước (1) từ tập dữ liệu học đã có sẵn, sử dụng phương pháp thống kê
→ ta sẽ có từ điển các tiếng (Lexicon). Các tiếng có thể xuất hiện trong các từ
với các chunk khác nhau, ta sẽ ghi nhận lại số lần xuất hiện của mỗi tiếng với các
chunk tương ứng. Ví dụ, đối với từ “công ty” thì tiếng “công” có chunk = B
nhưng trong từ “của công” thì tiếng công có chunk=I.
Ở bước (2) từ tập dữ liệu học, tạo ra tập dữ liệu học không có chunk
bằng cách xoá hết các chunk tương ứng. Tập dữ liệu mới này sẽ được sử dụng để
khởi tạo lại các chunk thông dụng nhất dựa vào từ điển.
Ở bước (3) so sánh tập dữ liệu học với tập dữ liệu đang xét, dựa vào các
mẫu luật đã cho, ta sẽ rút ra được các luật ứng viên, ứng với mỗi luật ứng viên ta
lại áp dụng vào tập dữ liệu đang xét và tính điểm cho nó (dựa vào số lỗi phát sinh
khi so sánh với tập dữ liệu học là tập dữ liệu chuẩn). Chọn luật có điểm cao nhất
và lớn hơn một ngưỡng cho trước để đưa vào danh sách luật được chọn.
Kết quả ta sẽ được một tập các luật được chọn. Các luật có dạng như sau:
SCORE: 414 RULE: chunk_0=B word_0=tế => chunk=I
SCORE: 312 RULE: chunk_0=B word_-1=của word_0=công =>
chunk=I
SCORE: 250 RULE: chunk_0=B word_0=hoá => chunk=I
- 41 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
SCORE: 231 RULE: chunk_0=B word_0=động => chunk=I
SCORE: 205 RULE: chunk_0=B word_0=nghiệp => chunk=I
SCORE: 175 RULE: chunk_0=B word_-1=phát word_0=triển =>
chunk=I
SCORE: 133 RULE: chunk_0=B word_-1=xã word_0=hội => chunk=I
SCORE: 109 RULE: chunk_0=B word_-1=đầu word_0=tư => chunk=I
SCORE: 100 RULE: chunk_0=B word_0 = thể => chunk=I
Ở dòng 2 ta có luật: nếu từ hiện hành là “công” (word_0=công) và từ
trước đó là “của” (word_-1=của) và chunk của từ hiện hành là B (chunk_0=B) thì
chuyển chunk của từ hiện hành là I, nghĩa là “của công” phải là một từ.
Toàn bộ quá trình học được mô tả như sau:
Hình 4. Quá trình học
- 42 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
b, Xác định từ cho tài liệu mới
(1) Tài liệu mới đưa vào phải có địng dạng giống như tập tin dữ liệu học,
nghĩa là mỗi tiếng trên một dòng.
(2) Dựa vào từ điển, gán chunk thông dụng nhất cho các tiếng trong tài
liệu mới.
(3) Áp dụng các luật có được từ giai đoạn học vào tài liệu đang xét ta sẽ
tách được các từ hoàn chỉnh.
Giai đoạn xác định từ cho tài liệu mới được mô tả như sau:
Hình 5. Giai đoạn xác định từ cho tài liệu mới
2.6.4. Phương pháp Longest Matching
Phương pháp Longest Matching tách từ dựa vào từ điển có sẵn [1].
Theo phương pháp này, để tách từ tiếng Việt ta đi từ trái qua phải và
chọn từ có nhiều âm tiết nhất mà có mặt trong từ điển, rồi cứ tiếp tục cho từ kế
- 43 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
tiếp cho đến hết câu. Với cách này, ta dễ dàng tách được chính xác các ngữ/câu
như: “hợp tác|mua bán”, “thành lập|nước|Việt Nam|dân chủ|cộng hoà”... Tuy
nhiên, phương pháp này sẽ tách từ sai trong trường hợp như: “học sinh học sinh
học” được tách thành “học sinh|học sinh|học”, “một ông quan tài giỏi” được tách
thành “một|ông|quan tài|giỏi” , “trước bàn là một ly nước” được tách thành
“trước|bàn là|một|ly|nước”,...
2.6.5. Kết hợp giữa fnTBL và Longest Matching
Chúng ta có thể kết hợp giữa hai phương pháp fnTBL và Longest
Matching để có được kết quả tách từ tốt nhất. Đầu tiên ta sẽ tách từ bằng Longest
Matching, đầu ra của phương pháp này sẽ là đầu vào của phương pháp fnTBL
học luật.
2.7. Kết luận chương 2
Trong chương này, các nội dung liên quan tới phân cụm tài liệu Web đã
được trình bày một cách khái quát nhất giúp có một cái nhìn tổng quan để bắt tay
vào thực hiện giải quyết bài toán. Đồng thời hướng giải quyết khó khăn khi phân
cụm tài liệu Web tiếng Việt cũng đã được trình bày. Trên cơ sở đó, luận văn
nghiên cứu tập trung vào các thuật toán phân cụm Web có tính tăng điển hình.
- 44 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
CHƯƠNG 3 - THUẬT TOÁN PHÂN CỤM CÂY
HẬU TỐ VÀ THUẬT TOÁN CÂY PHÂN CỤM
TÀI LIỆU
3.1. Giới thiệu về thuật toán phân cụm trang Web có tính tăng
Chúng ta đang quan tâm giải quyết bài toán phân cụm tài liệu cho các
trang Web. Theo truyền thống, nhiệm vụ phân lớp tài liệu được tiến hành thủ
công. Để gán một tài liệu với một lớp thích hợp, người thực hiện đầu tiên sẽ phân
tích các nội dung của tài liệu. Bởi vậy một số lượng lớn nỗ lực của con người sẽ
bị yêu cầu. Đã có một vài công việc nghiên cứu hướng dẫn việc phân cụm tự
động văn bản text. Một hướng đi là phân lớp văn bản text bằng cách sử dụng các
kỹ thuật học máy. Tuy nhiên, các thuật toán này dựa trên một bộ ví dụ huấn
luyện đúng và sai cho học các lớp văn bản. Chất lượng của kết quả các lớp muốn
cao thì phải phụ thuộc vào các ví dụ huấn luyện phù hợp. Có rất nhiều thuật ngữ
và các lớp trên World Wide Web (hoặc chỉ là Web), và rất nhiều thuật ngữ và
khái niệm được tạo ra hằng ngày. Thật là không thể để có các chuyên gia trong
lĩnh vực này để định nghĩa các ví dụ huấn luyện để học một người phân loại cho
từng lớp theo cách như trên.
Để tiến hành xử lý phân lớp tài liệu tự động, các kỹ thuật phân cụm đã
được sử dụng. Sự thu hút của phân tích phân cụm là ở việc nó có thể tìm thấy các
cụm trực tiếp từ dữ liệu đưa vào mà không cần nhờ vào bất cứ thông tin nào đã
được xác định trước, chẳng hạn như các ví dụ huấn luyện cung cấp bởi các
chuyên gia trong lĩnh vực.
Trong chương này, luận văn xin trình bày một số các thuật toán phân
cụm thích hợp cho việc phân cụm trang Web bởi các đặc tính tăng của chúng, cụ
thể đó là thuật toán phân cụm cây hậu tố (STC) và thuật toán sử dụng cây phân
cụm tài liệu (DC-Tree).
- 45 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
3.2. Thuật toán phân cụm cây hậu tố
3.2.1. Mô tả
Cây hậu tố (hay còn gọi là cây PAT hoặc gần đây có thể được gọi là cây
vị trí) là một cấu trúc dữ liệu biểu diễn các hậu tố của xâu ký tự nhất định cho
phép thực hiện một cách đặc biệt nhanh chóng nhất nhiều phép toán quan trọng
trên xâu.
Cây hậu tố cho một xâu ký tự S là một cây có cạnh và nhãn là các xâu,
thí dụ hậu tố eAHC của S phù hợp chỉ có một con đường từ gốc của cây tới một
lá. Do đó chỉ có một cây cơ số cho các hậu tố của S.
Việc xây dựng một cây cho xâu ký tự S mất thời gian và không gian
tuyến tính với độ dài của S. Mỗi một lần xây dựng, một vài thao tác có thể được
thực hiện nhanh chóng, ví dụ như việc xác định vị trí một xâu con trong S, xác
định vị trí của một xâu con nếu cho phép một số chắc chắn các lỗi, xác định vị trí
các xâu tương ứng cho một mẫu công thức thông thường,... Các cây hậu tố cũng
cung cấp một trong các giải pháp có thời gian tuyến tính cho vấn đề tìm xâu con
thông thường. Tuy nhiên việc tăng tốc độ sẽ dẫn tới tăng chi phí không gian bộ
nhớ do phải lưu trữ thêm cây hậu tố của một xâu hơn so việc lưu trữ xâu đó.
Hình 6. Cây hậu tố cho xâu BANANA
Cây hậu tố cho xâu BANANA được thêm $ vào cuối. Có sáu con đường
từ gốc tới một lá (được chỉ ở trên như các hộp) tương ứng với 6 hậu tố
- 46 -
A$, NA$,
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
ANA$, NANA$, ANANA$
và BANANA$. Các chữ số trong các hộp chỉ ra vị trí bắt đầu của
hậu tố tương ứng. Hậu tố được liên kết bởi mũi tên kéo theo
3.2.2. Thuật toán STC
Thuật toán phân cụm cây hậu tố Suffix Tree Clustering (STC) [5] là một
thuật toán phân cụm thời gian tuyến tính dựa trên việc nhận dạng các cụm từ
chung của các văn bản. Một cụm từ trong ngữ cảnh này là một chuỗi thứ tự của
một hoặc nhiều từ. Chúng ta định nghĩa một cụm cơ bản (base cluster) là một tập
các văn bản có chia sẻ một cụm từ chung.
STC có 3 bước thực hiện logic: (1) “Làm sạch” văn bản, (2) định nghĩa
các cụm cơ bản sử dụng một cây hậu tố, và (3) kết hợp các cụm cơ bản vào các
cụm.
Bước 1: Tiền xử lý (Pro-Precessing). Trong bước này, các chuỗi của
đoạn văn bản biểu diễn mỗi tài liệu được chuyển đổi sử dụng các thuật toán chặt
(Chẳng hạn như loại bỏ đi các tiền tố, hậu tố, chuyển từ số nhiều thành số ít).
Phân ra thành từng câu (xác định các dấu chấm câu, các thẻ HTML). Bỏ qua các
từ tố không phải là từ (chẳng hạn như kiểu số, các thẻ HTML và các dấu câu).
Các chuỗi tài liệu nguyên gốc được giữ lại, cùng với các con trỏ tại vị trí bắt đầu
của mỗi từ trong chuỗi chuyển đổi đến vị trí của nó trong chuỗi gốc. Việc có các
con trỏ nhằm giúp hiển thị được đoạn văn bản gốc từ các nhóm từ khóa đã
chuyển đổi.
Bước 2: Xác định các cụm cơ sở. Việc xác định các cụm cơ sở có thể
được xem xét như việc tạo một chỉ số của các nhóm từ cho tập tài liệu. Điều này
được thực hiện hiệu quả thông qua việc sử dụng cấu trúc dữ liệu gọi là cây hậu
tố. Cấu trúc dữ liệu này có thể được xây dựng trong thời gian tuyến tính với kích
cỡ của tập tài liệu, và có thể được xây dựng tăng thêm cho các tài liệu đang được
đọc vào. Một cây hậu tố của một chuỗi S là một cây thu gọn chứa đựng tất cả các
hậu tố của S. Thuật toán coi các tài liệu như các chuỗi của các từ, không phải của
các ký tự vì vậy các hậu tố chứa đựng một hoặc nhiều từ. Mô tả cụ thể về cây hậu
tố như sau:
1. Một cây hậu tố là cây có gốc và được định hướng.
2. Mỗi node trong có tối thiểu 2 con.
- 47 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
3. Mỗi cạnh được gắn nhãn là một chuỗi con của S và chuỗi đó khác
rỗng. Nhãn của một node được xác định thông qua chuỗi nối tiếp của các nhãn
được gắn cho các cạnh từ gốc tới node đó.
4. Không có hai cạnh từ một node được gắn nhãn bắt đầu với từ giống
nhau.
5. Với mỗi hậu tố s của S, tồn tại một suffix-node có nhãn là s.
Cây hậu tố của một tập các chuỗi là một cây thu gọn chứa đựng tất cả
các hậu tố của tất cả các chuỗi trong tập tài liệu. Mỗi suffix-node được đánh dấu
để chỉ ra chuỗi mà nó thuộc về. Nhãn của suffix-node chính là một hậu tố của
chuỗi đó. Để phân cụm ta sẽ xây dựng cây hậu tố của tất cả các câu của tất cả các
tài liệu trong tập tài liệu. Chẳng hạn có thể xây dựng cây hậu tố cho tập các chuỗi
là {“cat ate cheese”, “mouse ate cheese too”, “cat ate mouse too”}.
- Các node của cây hậu tố được vẽ bằng hình tròn
- Mỗi suffix-node có một hoặc nhiều hộp gắn vào nó để chỉ ra chuỗi mà
nó thuộc về.
- Mỗi hộp có 2 số (số thứ nhất chỉ ra chuỗi mà hậu tố thuộc về, số thứ hai
chỉ ra hậu tố nào của chuỗi gắn nhãn cho suffix-node)
Hình 7: Cây hậu tố của các chuỗi “cat ate cheese”, “mouse ate cheese too”,
“cat ate mouse too”.
Một số node đặc biệt a → f. Mỗi một node này biểu diễn cho một nhóm
tài liệu và một nhóm từ chung được thiết đặt cho tất cả tài liệu. Nhãn của node
biểu diễn nhóm từ chung. Tập các tài liệu gắn nhãn suffix-node là kế thừa của
các node tạo bởi nhóm tài liệu. Do đó, mỗi node biểu diễn một cụm cơ sở (base
- 48 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
cluster). Ngoài ra, tất cả các cụm cơ sở có thể (chứa 2 hoặc nhiều tài liệu) xuất
hiện như các node trong cây hậu tố. Bảng sau liệt kê các node a-> f trong hình 1
và các cụm cơ sở tương ứng.
Bảng 1: Sáu node từ hình 14 và các cụm cơ sở tương ứng.
Node
Phrase
Documents
a
cat ate
1,3
b
ate
1,2,3
c
cheese
1,2
d
mouse
2,3
e
too
2,3
f
ate cheese
1,2
Mỗi cụm cơ sở được gán một điểm số là một hàm của số lượng các tài
liệu cụm đó chứa đựng, và các từ hình thành nên nhóm từ của nó. Điểm số s(B)
của cụm cơ sở B với nhóm từ P là:
s(B) = |B| . f(|P|) (*)
Trong đó: |B| là số lượng của các tài liệu trong cụm cơ sở B, |P| là số
lượng các từ có trong nhóm từ P mà có điểm số khác 0. Việc xét đến điểm số của
nhóm từ P theo nghĩa như sau:
Thuật toán cài đặt một danh sách stoplist bao gồm các từ đặc trưng trên
internet dùng để xác định các từ khác. ( Ví dụ “previous”, “java”, “frames”,
“mail”). Các từ xuất hiện trong danh sách stoplist đó hay các từ xuất hiện quá ít
trong một nhóm từ (3 hoặc ít hơn) hay quá nhiều (hơn 40% của tập tài liệu) sẽ
được gán điểm số 0 cho nhóm từ.
Hàm f trong công thức (*) thực hiện trên các nhóm từ đơn, nó là tuyến
tính cho các nhóm từ có độ dài từ 2 đến 6 và là hằng số với các nhóm có độ dài
lớn hơn.
Bước 3: Kết nối các cụm cơ sở
Các tài liệu có thể chia sẻ nhiều hơn một nhóm từ. Kết quả là, tập hợp tài
liệu của các cụm cơ sở khác nhau có thể trùng lặp và thậm chí là có thể là giống
nhau. Để tránh việc có nhiều các cụm gần giống nhau. Tại bước thứ 3 này của
thuật toán việc trộn các cụm cơ sở với một sự trùng lặp cao trong tập tài liệu của
chúng (chú ý là các nhóm từ chung không xem xét trong bước này)
- 49 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Thuật toán đưa ra một độ đo tính tương tự giữa các cụm dựa trên việc
trùng lặp của tập tài liệu của chúng. Giả sử có hai cụm cơ sở Bm và Bn với kích
cỡ là |Bm| và |Bn| tương ứng. Và | Bm ∩ Bn| thể hiện số tài liệu chung của cả hai
cụm, độ tương tự giữa Bm và Bn là 1 nếu:
+) | Bm ∩ Bn| / |Bm| > 0.5 và
+) | Bm ∩ Bn| / |Bn| > 0.5
Ngược lại, độ tương tự là 0.
Hãy xem minh họa tiếp theo của ví dụ trong Hình 7. Ở đây mỗi node là
các cụm cơ sở. Hai node được nối với nhau khi độ tương tự là 1. Một cụm được
xác định là các thành phần được ghép nối trong đồ thị cụm cơ sở. Mỗi một cụm
sẽ bao gồm tập của tất cả các tài liệu của các cụm cơ sở trong nó.
Hình 7: Đồ thị các cụm cơ sở của ví dụ trong Hình 6 và bảng 1.
Trong ví dụ này có một thành phần kết nối, do đó có 1 cụm. Nếu giả sử
rằng từ ‘ate’ có trong danh sách stoplist, thì cụm cơ sở b sẻ bị loại ra bởi vì nó có
chỉ số của nhóm từ là 0. Và do đó sẽ có 3 thành phần kết nối trong đồ thị, thể
hiện 3 cụm.
Chúng ta thấy rằng thời gian của việc tiền xử lý các tài liệu tại bước 1
của thuật toán STC hiển nhiên là tuyến tính với kích thước tập tài liệu. Thời gian
của việc thêm các tài liệu vào cây hậu tố cũng tuyến tính với kích thước tập tài
liệu theo thuật toán Ukkonen cũng như số lượng các node có thể bị ảnh hưởng
bởi việc chèn này. Do vậy thời gian tổng cộng của STC tuyến tính với kích thước
tập tài liệu. Hay thời gian thực hiện của thuật toán STC là O(n) trong đó n là kích
thước của tập tài liệu.
- 50 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
3.3. Thuật toán phân cụm sử dụng cây phân cụm tài liệu
3.3.1. Giới thiệu
Trong thuật toán phân cụm sử dụng cây phân cụm tài liệu, một tài liệu
thông thường được biểu diễn bởi một vector đặc trưng. Một cách đặc tính, từng
đặc trưng tương ứng với một từ khoá hoặc cụm từ xuất hiện trong tập tài liệu.
Mỗi entry của vector lưu một trọng số cho đặc trưng tương ứng của tài liệu. Sau
khi trích chọn các vector đặc trưng của các tài liệu, chúng ta có thể áp dụng thuật
toán phân cụm trên tập các vector như trong phân cụm dữ liệu kích thước lớn
thông thường. Các lớp tài liệu kết quả thu được cũng với các đặc trưng tiêu biểu
(ví dụ các từ khoá hoặc cụm từ khóa với đủ hỗ trợ tài liệu (document support)
cho cụm) do đó trình bày cho người sử dụng.
Trong luận văn này, tôi xin giới thiệu một cấu trúc cây gọi là DC-tree
(Document Clustering Tree: Cây phân cụm tài liệu) có thể phân cụm các tài liệu
mà không cần tập huấn luyện [24]. Với DC-tree, một đối tượng dữ liệu đưa vào
không bắt buộc phải chèn vào mức (vị trí) thấp khi không tồn tạo một nút con
tương tự cho đối tượng dữ liệu. Điều này ngăn cản một vài dữ liệu không tương
tự từ việc đặt cùng nhau. Kết quả là thuật toán phân cụm dựa trên cấu trúc DCtree là ổn định với yêu cầu đưa thêm tài liệu và dễ chấp nhận các tài liệu “nhiễu”.
Phương thức này có thể hữu ích trong một số cách:
(1) Cho việc tiền xử lý trong việc phân lớp trang Web để người sử dụng
có thể chọn lớp thích hợp trước khi tìm kiếm, việc này giúp ích việc tìm kiếm trở
nên có trọng tâm hơn và hiệu quả hơn.
(2) Cho việc phân lớp trực tuyến online, để khi số lượng lớn các kết qủa
trả lại từ một tìm kiếm, Kỹ thuật này có thể phân lớp các kết quả và cung cấp tốt
hơn hướng dẫn cho người sử dụng trong các tìm kiếm trong tương lai.
(3) Cho việc phân lớp trang Web có tính tăng sau khi cập nhật trên kho
dữ liệu.
3.3.2. Trích chọn đặc trưng và phân cụm tài liệu
Nhiệm vụ đầu tiên là nhận biết một phương pháp trích chọn đặc trưng tốt
thích hợp cho môi trường Web. Trong phần này, luận văn trình bày một phương
- 51 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
pháp trích chọn đặc trưng. Ngoài ra, tài liệu và sự biểu diễn phân cụm tài liệu
cũng sẽ được mô tả. Cuối cùng, phương pháp ước lượng chất lượng phân cụm
cũng sẽ được trình bày.
a, Trích chọn đặc trưng tài liệu
Phương pháp trích chọn đặc trưng cho thuật toán phân cụm tài liệu Web
được đưa ra không phụ thuộc vào tần xuất xuất hiện từ. Phương pháp này cân
bằng các yếu tố khác nhau để đạt được sự kết hợp tốt nhất giữa độ hồi tưởng và
số các đặc trưng sử dụng cho biểu diễn tài liệu. Trong vấn đề của chúng ta phạm
vi phân cụm mục tiêu để giúp đỡ trong việc lấy thông tin trong việc tìm kiếm
bằng cách thu hẹp phạm vi tìm kiếm. Trong một viễn cảnh, người sư dụng có thể
không muốn quá nhiều phân cụm trong kết quả. Đồng thời, các cụm quá lớn hoặc
quá nhỏ là không được mong muốn. Các cụm quá lớn không thể giúp thu hẹp
phạm vi tìm kiếm. Các cụm qúa nhỏ có thể làm tăng tổng số các cụm,và nó có
thể thậm chí gây nên trạng thái “nhiễu”. Tham số k được sử dụng để thiết lập
một số xấp xỉ trên cỡ của cụm. Do đó số các phân cụm là xấp xỉ N/k, trong đó N
là tổng số các tài liệu. Phương pháp được đề xuất bao gồm các bước sau:
1. Lấy ngẫu nhiên một tập con của các tài liệu với cỡ m từ tập sao lục.
2. Trích tập các từ có xuất hiện ít nhất một lần trong các tài liệu.
Xoá các từ kết thúc và kết nối các từ vào cùng một gốc bằng cách sử
dụng kỹ thuật lấp đầy.
3. Đếm tần xuất tài liệu của các từ đã được trích trong bước 2.
4. Đặt lower=k và upper=k
5. Lấy tất cả các từ với tần xuất tài liệu trong giá trị từ lower và upper.
6. Kiểm tra nếu coverage ( độ hồi tưởng) của các từ là lớn hơn ngưỡng
định nghĩa trước. Nếu vậy, dừng. Nếu không, đặt lower=lower-1 và
upper=upper+1, và quay lại bước 5.
Để trích chọn các đặc trưng tiêu biểu từ các tài liệu, chúng ta lựa chọn
ngẫu nhiên một tập các tài liệu mẫu cho bước trích chọn đặc trưng trong bước 1.
Một vài thử nghiệm [24] chỉ ra rằng phương pháp trích chọn đặc trưng này có thể
trích ra một tập các đặc trưng tốt cho phân cụm tài liệu Web. Một danh sách các
- 52 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
từ kết thúc thường được sử dụng để xoá các từ ít có ý nghĩa. Kỹ thuật lấp đầy
thường được sử dụng để kết nối các từ này trong dạng tương tự.
Bởi vì các vector đặc trưng ngắn nhất dẫn tới thời gian phân cụm ngắn
hơn, bước 4 và 6 cố gắng để làm nhỏ nhất số các đặc trưng và thu được độ hồi
tưởng hợp lý cho các đặc trưng. Thừa nhận người sử dụng muốn cụm kết quả bao
gồm khoảng k tài liệu.Trong trường hợp lý tưởng, một đặc trưng cho một cụm sẽ
xuất hiện chỉ trong cụm và do đó tần xuất tài liệu của của đặc trưng là k. Bởi vậy,
đầu tiên chúng ta chọn các đặc trưng với tần xuất tài liệu là bằng k, bằng cách
thiết lập lower và upper bằng k trong bước 4. Khoảng giá trị {lower, upper} là
tăng lên một cách lặp lại trong bước 6 để bảo đảm đủ bảo phủ cho tập đặc trưng
kết quả. Chúng ta thấy rằng N/k chỉ là một hướng dẫn phỏng đoán, số lượng thực
tế các phân cụm của kết quả phân cụm có thể không giống như N/k. Phương pháp
cũng sử dụng một ngưỡng hồi tưởng để đảm bảo rằng các đặc trưng được chọn
có đủ độ hồi tưởng. Với các thử nghiệm ([24]), chúng ta thấy rằng 0.8 là giá trị
ngưỡng hồi tưởng khá tốt.
b, Biểu diễn tài liệu
Trong thuật toán của chúng ta, một tài liệu (Di) được biểu diễn theo dạng
sau: Di=(Wi,IDi), trong đó IDi là sự nhận dạng tài liệu có thể được sử dụng để lấy
tài liệu (Di), và Wi là vector đặc trưng của tài liệu: Wi=(wi1,wi2,...,win). Do đó n là
số các đặc trưng đã được trích chọn, và wij là trọng số của đặc trưng thứ j, trong
đó j Є {1,2,..,n}. Trong thuật toán của chúng ta, sự sắp xếp trọng số nhị phân
được sử dụng. Đó là, wij =1 nếu Di bao gồm đặc trưng thứ j, ngược lại, wij =0.
Như đã đề cập tại phần trích chọn đặc trưng phía trên, một trang Web điển hình
không bao gồm nhiều từ mà tần xuất xuất hiện của một từ không biểu thị sự quan
trọng trong thực tế của từ này. Bởi vậy, lược đồ trọng số nhị phân là thích hợp
nhất cho phạm vi vấn đề của chúng ta.
c, Phân cụm tài liệu (DC)
Một giá trị phân cụm tài liệu (DC- Document Cluster) là một bộ ba
thông tin mà chúng ta duy trì bởi một tập các tài liệu trong cùng một cụm:
(1) số các tài liệu
(2) tập các nhận dạng tài liệu
- 53 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
(3) vector đặc trưng của phân cụm
Định nghĩa1: (DC) Cho N tài liệu trong một phân cụm: {D1,D2,...DN},
giá trị DC của một nút được định nghĩa như một bộ ba: DC = (N,ID,W), trong đó
N là số lượng các tài liệu trong cụm, ID là tập các nhận dạng tài liệu của các tài
liệu trong cụm, ví dụ ID={ID1,ID2,...IDN}, và W là vector đặc trưng của cụm tài
N
liệu, ví dụ W=(w1,w2,...,wn), trong đó wj= ∑ wij , và n là số các đặc trưng đã được
i =1
trích chọn.
Bộ ba này không chỉ ra tổng hợp tần suất tài liệu trong cụm, nhưng có
thể sử dụng để đánh giá sự giống nhau giữa hai cụm. Bổ đề sau cung cấp một
cách linh hoạt kết nối hai cụm thành một và cho ra giá trị DC cho cụm kết hợp.
Bổ đề [24] (Phép cộng) Cho DC1 = (N1,ID1,W1) and DC2= (N2,ID2,W2)
là bộ giá trị DC của hai cụm tài liệu tách rời, trong đó tách rời có nghĩa là một
tài liệu không thuộc về nhiều hơn một cụm tại cùng một thời điểm. Khi đó bộ giá
trị DC mới, DCnew, của cụm được hình thành bằng cách kết hợp hai cụm tách
biệt là: DCnew = (N1+N2, ID1 ∪ ID1, W1+W2), trong đó W1+W2=
(w11+w21,w12+w22,...,w1n+w2n), và n là số các đặc trưng đã được trích chọn.
d, Các kỹ thuật đánh giá
Để đánh giá chất lượng của kết quả việc phân cụm, chúng ta chọn kỹ
thuật đánh giá F-Measure (độ đo lường F) [23]. Chi tiết của phương pháp đánh
giá được mô tả như sau:
Cho từng topic được gán nhãn bằng tay T trong tập tài liệu, giả sử rằng
một phân cụm X tương ứng với topic đó được hình thành.
N1= số các tài liệu của topic T trong phân cụm X
N2=số các tài liệu trong phân cụm X
N3= tổng số các tài liệu của topic T
P=Precision(X,T)=N1/N2
R=Recall(X,T)=N1/N3
F-measure cho topic T được địng nghĩa như sau:
- 54 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
F(T)=
2 PR
P+R
Với đánh giá cao với một topic T, chúng ta quan tâm phân cụm với độ đo
F-measure cao nhất để phân cụm C cho T, và độ đo F-measure đó trở thành điểm
số cho topic T. Độ đo overall F-measure[22] cho cây kết quả phân cụm là giá trị
trung bình của F-measure cho từng topic T:
Overall_F_Measure=
∑
T ∈M
( T × F (T ))
∑
T ∈M
T
trong đó M là tập các topic, |T| là số các tài liệu của topic T, và F(T) là
F-Measure cho topic T.
3.3.3. Cây phân cụm tài liệu –DC Tree
Trong phần này xin giới thiệu một thuật toán phân cụm tài liệu Web bằng
phương tiện là cây phân cụm tài liệu (Document Cluster -DC-tree). Trong DCtree, mỗi nút có thể được quan tâm như một phân cụm tài liệu. Cấu trúc cây được
sử dụng để hướng dẫn cách đưa đối tượng tài liệu vào một phân cụm tài liệu
(DC) thích hợp tại các nút lá. Nó là tương tự với B+-tree [2] trong đó các bản ghi
chỉ số tại các nút lá bao gồm các con trỏ trỏ tới các đối tượng dữ liệu, nhưng nó
không là cây có chiều cao cân bằng. Cấu trúc này được thiết kế bởi vì việc gán
một tài liệu vào một phân cụm chỉ yêu cầu duyệt qua một số lượng nhỏ các nút.
Một DC-tree là một cây với 4 tham số: hệ số nhánh (B), hai ngưỡng tương
tự (S1 và S2, trong đó 0 ≤ S1 , S2 ≤ 1) và số nhỏ nhất con của một nút (M).
Một nút không phải là lá của toàn bộ các chỉ mục của B có dạng (DCi,
Childi), trong đó i=1, 2,..., B, “Childi” là một con trỏ tới nút con thứ i hoặc một
tài liệu, và DCi là giá trị DC của phân cụm con tiêu biểu cho nút con thứ i hoặc
một tài liệu của nó. Vì thế, một nút không phải là lá mô tả một cụm cấu tạo nên
tất cả các cụm con được mô tả bởi chỉ mục của nó.
- 55 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Một nút lá DC của toàn bộ chỉ mục B là một chỉ mục có dạng (DCi, Doci),
trong đó i Є {1, 2, ..., B}, “Doci” là một con trỏ tới một tài liệu hoặc một tập tài
liệu, và DCi là chỉ mục DC của cụm con tương ứng.
Gọi tập tài liệu dưới một con trỏ là một nút lá tài liệu ( document leaf
node), để phân biệt với nó trong nút lá cây (tree leaf node) hoặc DC leaf node
(xem hình 8). Một nút lá DC cũng mô tả một cụm cấu tạo nên tất cả các cụm con
được mô tả bởi các chỉ mục DC của nó. Cây DC cho phép một chỉ mục đưa tài
liệu vào, để chèn vào một nút lá tài liệu mới tại các mức khác nhau của cây. Vì
thế, Cây DC không phải là một cây có chiều cao cân bằng. Hình 8 biểu diễn một
ví dụ cây DC với chiều cao là 2, B=3, M=2. Chú ý rằng cây là không cân bằng.
Trong việc xây dựng cây, hai ngưỡng được sử dụng:
Hình 8. Ví dụ của một cây DC
Ngưỡng S1: Để ngăn chặn kết quả phân cụm tài liệu kém chất lượng (ví dụ:
Các tài liệu trong các lớp khác nhau được đưa vào cùng 1 cây con hoặc phân
cụm) được gây ra bởi thứ tự chèn tài liệu, S1 được sử dụng để quyết định tài liệu
đến E có thể được chuyển tới cấp độ tiếp theo hay không trong quá trình chèn tài
liệu. Nếu tồn tại một tài liệu con của nút hiện tại mà độ tương tự giữa tài liệu này
và tài liệu sắp được đưa vào lớn hơn S1, tài liệu mới sẽ được chuyển đến nút con
tương ứng. Ngược lại, tài liệu mới sẽ được thêm vào nút hiện tại như một nút lá
mới.
- 56 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Ngưỡng S2: Do cây DC được sử dụng cho việc phân cụm tài liệu mà không
sử dụng đánh chỉ mục, do đó không cần thiết phải ép mỗi nút lá trỏ đến một tài
liệu đơn. Để làm giảm thời gian chèn, tài liệu mới có thế được gộp với một nút
lá, nếu độ tương tự của nó lớn hơn một ngưỡng S2. Việc gộp nút này sử dụng
phép gộp được mô tả trong bổ đề 1, nó giúp cho giảm bớt việc chèn nút và các
thao tác phân chia vì thế mà thời gian chèn có thể giảm đi.
Có thể coi cây DC là một thể hiện của tập dữ liệu vì mỗi tài liệu ở nút lá
không phải là một điểm dữ liệu đơn mà là một phân cụm của các điểm dữ liệu
(mỗi nút lá có thể có nhiều điểm dữ liệu miễn là thỏa mãn ngưỡng S2). Với định
nghĩa về cây DC như trên, cỡ của cây sẽ là một hàm dựa trên các ngưỡng S1 và
S2. Nếu chúng ta đặt S1 = 0 và S2 là một số nào đó lớn hơn 1, cây DC sẽ tương tự
như một cây cân bằng như cây B+ hoặc một cây R [21]. Việc xóa dữ liệu cũng
như thuật toán trộn là tương tự như của cây B+.
A. Chèn
Sau đây là thuật toán để chèn một đối tượng tài liệu vào cây DC. Đối
tượng tài liệu ở đây có thể là một tài liệu đơn hoặc một phân cụm của các tài liệu
được biểu diễn bởi một nhóm DC (E). Nếu như đối tượng tài liệu là một tài liệu
đơn, đầu tiên nó sẽ được gói vào trong một nhóm DC (E). Thuật toán chèn được
tiến hành theo những bước sau đây:
1. Nhận dạng nút lá thích hợp: Bắt đầu từ gốc, E duyệt xuống dưới cây
DC bằng việc chọn nút con gần nhất với giá trị tương tự lớn hơn S1. Nếu nút con
này không tồn tại, E được chèn vào như một nút lá tài liệu vào một nhóm rỗng
của nút. Nếu không có nhóm rỗng nào, việc chia nhỏ nút cần được thực hiện.
2. Thay đổi nút lá: Khi chúng ta đang ở một nút lá của cây DC, chúng ta
tìm ra nhóm ở nút lá gần nhất với E, ký hiệu là Li và kiểm tra xem nó có thể gộp
với E mà không vi phạm yêu cầu về ngưỡng tương tự S2 không. Nếu không vi
phạm, nhóm chứa Li sẽ được dùng để gộp. Chú ý rằng một nhóm DC của một
phân cụm mới có thể được tính từ những nhóm DC cho Li và E dựa vào bổ đề 1.
Ngược lại, E sẽ được cộng vào nút lá. Nếu có khoảng trống trong nút lá để thêm
- 57 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
được nhóm này, coi như chúng ta đã hoàn thành, ngược lại, chúng ta phải chia
nhỏ nút lá.
3.Thay đổi đường dẫn từ nút lá đến gốc: Sau khi E được chèn vào một
nút lá, chúng ta phải cập nhật lại các nhóm không phải là lá trên đường từ gốc
đến nút lá. Do chưa có việc chia nhỏ, việc này được thực hiện bằng cách thêm
các nhóm DC để tương ứng với việc thêm vào E. Việc chia một nút lá yêu cầu
chúng ta phải chèn một nhóm không phải là lá mới vào nút cha, việc này tương
ứng với việc tạo ra một nút lá mới. Nếu như nút cha có khoảng trống để mục này
có thể chèn vào thì tại tất cả các mức lớn hơn, chúng ta chỉ cập cập nhật các
nhóm DC để tương ứng với việc thêm vào E. Một cách tổng quan, chúng ta có
thể phải chia nhỏ cả nút cha và thậm chí cả nút gốc. Nếu nút gốc bị chia nhỏ, độ
cao của cây sẽ được tăng thêm 1 và một gốc mới sẽ được tạo ra.
B. Chi nhỏ nút
Để thêm một nhóm mới vào một nút đã đầy chứa B nhóm, cần thiết phải
chia tập B+1 nhóm thành 2 nút. Sự chia sẻ này nên được hoàn thành sao cho độ
tương tự giữa 2 nút mới sẽ là nhỏ nhất và độ tương tự giữa các tài liệu trong cùng
một nút sẽ là lớn nhất. Chúng ta sẽ sử dụng một thuật toán chia nhỏ một tập B+1
nhóm vào 2 tập. Cách đơn giản nhất là tạo ra tất cả các tập có thể và chọn tập tốt
nhất. Tuy nhiên, số lượng tập này có thể là rất lớn, xấp xỉ 2B-1 . Phía dưới là một
thuật toán chia nút sử dụng thuật toán chèn. Thuật toán chia nút này tương tự như
phương pháp được sử dụng trong cây R:
1. Chọn một hạt nhân cho mối nhóm: Mới mỗi cặp nhóm E1 và E2, tính
toán độ tương tự giữa chúng. Chọn ra cặp có độ tương tự thấp nhất như là các
nhân tố đầu tiên của 2 tập. Để tránh hiệu ứng thắt nút, chúng ta nên chọn ra cặp
có số lượng tài liệu là lớn nhất.
2. Kiểm tra điều kiện kết thúc: Nếu tất cả các nhóm đã được đưa vào các
tập, dừng ở đây. Nếu một tập có rất ít nhóm thì tất cả các nhóm chưa được xét sẽ
được đưa vào nó để thỏa mãn số nhóm nhỏ nhất M.
3. Chọn tập tương ứng: Với mỗi nhóm E chưa ở trong tập nào, tính toán
độ tương tự giữa E và một nhóm hạt nhân của mỗi tập. Đưa nhóm vào tập có giá
trị tương tự lớn nhất với nó. Quay lại bước 2.
- 58 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
C. Xóa và trộn nút
Thuật toán xóa dữ liệu là tương tự như trong cây B+. Nếu số lượng còn
lại của các nhóm lớn hơn hoặc bằng số lượng nhóm tối thiểu M nào đó sau khi
loại bỏ một nhóm, việc xóa nút được hoàn thành. Ngược lại việc trộn nút sẽ được
sử dụng. Điều này có nghĩa là nút sẽ được trộn với với các anh em của nó. Hơn
nữa, việc trộn nút là cần thiết khi một nhóm xa lạ với nút cha. Công việc này
được nhân ra tới nút gốc và độ cao của cây có thể bị giảm xuống nếu cần thiết.
D. Nhận dạng các phân cụm thú vị
Quá trình nhận dạng phận cụm bắt đầu từ gốc của cây. Một thuật toán tìm
kiếm “breath-first” được áp dụng để khám phá ra các phân cụm thú vị. Một phân
cụm thú vị được định nghĩa là một phân cụm mà chứa các nét đặc trưng tiêu biểu
và kích cỡ ở trong một khoảng định trước. Chúng ta có thể sử dụng các giá trị
chặn dưới (lower) và chặn trên (upper) được tìm thấy trong phương thức bóc tách
đặc trưng của chúng ta để quyết định khoảng giới hạn của cỡ phân cụm. Giả sử l
và u là chặn dưới và chặn trên của cỡ phân cụm, thì l và u có thể được quyết định
bằng công thức sau:
(1) l = lower ×
N
m
và (2) u = upper ×
N
m
Trong đó N là cỡ của tập dữ liệu và m là cỡ của tập dữ liệu mẫu được sử
dụng trong quá trình bóc tách đặc trưng. Phạm vi này cũng có thể được điều
chỉnh thủ công để đạt được một kết quả phân cụm tốt. Một khi chúng ta đã nhận
diện được một phân cụm thú vị, các phân cụm con trong các nút con của nó sẽ
không cần phải duyệt nữa. Một đặc trưng tiêu biểu được định nghĩa là một đặc
trưng có sự hỗ trợ đủ trong phân cụm. Có nghĩa là tần suất tài liệu của các nét
đặc trưng tiêu biểu phải lơn hơn một ngưỡng định trước nào đó. Chúng ta có thể
gọi ngưỡng này là ngưỡng tiêu biểu. Các đặc trưng này sau đó sẽ được sử dụng
làm đại diện cho phân cụm.
- 59 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
3.4. Kết luận chương 3
Chương này trình bày chi tiết hai thuật toán phân cụm có tính tăng là
STC và DC-tree. Đồng thời đưa ra các nhận xét cho từng thuật toán, luận văn
đưa ra nhận xét thuật toán phân cụm thích hợp đối với các tài liệu Web áp dụng
vào máy tìm kiếm. Chương trình cài đặt thử nghiệm cho thuật toán và việc đánh
giá kết quả thuật toán sẽ được trình bày ở chương tiếp theo.
- 60 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
CHƯƠNG 4 - PHẦN MỀM THỬ NGHIỆM VÀ KẾT QUẢ
THỰC NGHIỆM
4.1. Giới thiệu
Trong phạm vi của luận văn này, tôi áp dụng thuật toán phân cụm tài liệu
sử dụng cấu trúc DC-tree vào chương trình thử nghiệm của mình.
Để thực nghiệm kết quả của phân cụm DC Tree, tôi đã thể hiện thuật
toán này bằng ngôn ngữ lập trình C# trên nền tảng .Net Framework của
Microsoft sử dụng SQL Server 2000 để lưu trữ cơ sở dữ liệu.
Các chức năng chính của chương trình bao gồm:
- Lập dữ liệu từ điển
Dựa trên ý tưởng phân cụm sử dụng cụm từ, chương trình đã xây dựng
một hệ thống từ điển để phục vụ cho thuật toán tách từ Longest Matching. Ban
đầu, các từ này được xây dựng dựa trên các từ lấy từ dữ liệu từ điển Việt-Anh tại
nguồn http://www.stardict.org. Các dữ liệu này có thể được bổ sung, sửa chữa
dần dần để nâng cao hiệu quả của phân cụm.
- Lấy dữ liệu từ Internet
Dữ liệu phân cụm sẽ được lấy từ Internet một cách độc lập với việc phân
cụm.
Chương trình sẽ được định nghĩa sẵn một ngưỡng n cho việc lấy dữ liệu
từ Internet. Điều này có nghĩa là, sau khi người quản trị cung cấp cho chương
trình một URL, chương trình tự động lấy nội dung trang web từ URL này về sau
đó phân tích nội dung trang web, tìm các URL khác nằm trong trang web này.
Quá trình trên được lặp lại với URL tìm được cho đến khi độ sâu n được
thỏa mãn. Như thế với độ sâu n phù hợp, ta có thể lấy được toàn bộ nội dung của
một trang Web.
- Tách từ và phân cụm
Chức năng này cho phép chương trình tách từ và phân cụm các dữ liệu
mới được lấy về.
- 61 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Trong chức năng này, có 3 bước được thực hiện:
Bước 1: Tách từ sử dụng thuật toán Longest Matching với từ điển dựng
sẵn
Bước 2: Tách từ sử dụng thuật toán fnTBL từ dữ liệu trả về từ thuật toán
Longest Matching.
Bước 3: Phân cụm dựa trên thuật toán DC-Tree sử dụng hàm tính độ
tương tự dựa trên các cụm từ tách được.
- Tìm kiếm trên kết quả phân cụm
Việc tìm kiếm này sẽ được áp dụng một thuật toán bao gồm 2 bước:
Bước 1: Tính độ tương tự của chuỗi tìm kiếm với các đặc trưng của các
phân cụm, nếu độ tương tự lớn hơn một ngưỡng S1 nào đó, ta sẽ áp dụng bước 2
cho phân cụm đó.
Bước 2: Tìm kiếm các tài liệu trong phân cụm có độ tương tự cao hơn một
ngưỡng S2 với chuỗi tìm kiếm.
4.2. Thiết kế cơ sở dữ liệu
Cơ sở dữ liệu của chương trình được thiết kế như trong hình phía dưới. Trong đó
chức năng của các bảng được mô tả như sau:
Bảng: Dictionary – Đây là bảng chứa dữ liệu từ điển tiếng Việt
Tên trường
Kiểu dữ liệu
Mô tả
PhraseID
Int
Là khóa chính của bảng.
Phrase
Nvarchar
Là cụm từ cần lưu trữ
PhraseDescription
Ntext
Là mô tả của cụm từ cần lưu trữ. Hiện
tại chưa được sử dụng. Chứa dữ liệu
ngữ nghĩa tiếng Anh sau khi được
convert từ từ điển StarDict.
- 62 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Bảng Documents – Đây là bảng chứa các tài liệu được chương trình lấy về
Tên trường
Kiểu dữ liệu
Mô tả
DocID
Int
Là khóa chính của bảng.
Source
Nvarchar
Địa chỉ nguồn của tài liệu gốc. Dùng
để đánh chỉ mục, tránh trùng lặp tài
liệu.
Snipet
Ntext
Là trích đoạn của tài liệu, phục vụ cho
việc phân cụm.
IsTokenized
Bit
Cho biết tài liệu này đã được tách từ
hay chưa.
IsClustered
Bit
Cho biết tài liệu đã được phân cụm
hay chưa.
Bảng DocumentIndex – Đây là bảng liên kết giữa các tài liệu và dữ liệu từ điển.
Tên trường
Kiểu dữ liệu
Mô tả
DocIndexID
Int
Là khóa chính của bảng.
PhraseID
Int
Khóa ngoài, liên kết đến bảng
Dictionary
DocID
Int
Khóa ngoài, liên kết đến bảng
Documents
Score
Float
Cho biết độ tương tự/tần suất của từ
khóa trong tài liệu dựa trên một hàm
tính độ tương tự.
- 63 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Bảng Nodes – Chứa các nút của cây DC
Tên trường
Kiểu dữ liệu
Mô tả
NodeID
Int
Là khóa chính của bảng.
NodeParentID
Int
Chứa nút cha của cây
ClusterID
Int
Cho biết phân cụm của nút thuộc vào.
Bảng Node-Document – Vì một nút có thể chứa nhiều tài liệu và ngược lại, một
tài liệu có thể nằm trên nhiều nút. Bảng này thể hiện mối quan hệ nhiều-nhiều
này
Tên trường
Kiểu dữ liệu
Mô tả
NodeDocumentID Int
Là khóa chính của bảng.
NodeID
Int
Khóa ngoài, liên kết đến bảng Nodes
DocID
Int
Khóa ngoài, liên kết đến bảng
Documents
Bảng Clusters – Chứa các phân cụm tìm được
Tên trường
Kiểu dữ liệu
Mô tả
ClusterID
Int
Là khóa chính của bảng. Cho biết số
thứ tự của phân cụm.
- 64 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Dưới đây là sơ đồ liên kết thực thể giữa các bảng:
Hình 7. Sơ đồ liên kết thực thể của chương trình thực nghiệm
4.3. Chương trình thử nghiệm
Áp dụng các nghiên cứu về lý thuyết phân cụm, trong chương trình thử nghiệm
của chúng tôi, mỗi một bước thực hiện sẽ được tách thành từng phần riêng.
Tương ứng với các chức năng chính đã mô tả ở trên, chương trình bao gồm bốn
module chính: Từ điển, Lấy dữ liệu, Phân cụm, Tìm kiếm.
- 65 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- Module Từ điển: hiển thị tất cả các từ có trong từ điển Việt. Với dữ liệu ban đầu
được lấy từ nguồn từ điển Việt-Anh tại địa chỉ http://www.stardict.org ta sẽ có
một kho từ điển khá hoàn chỉnh các từ Tiếng Việt. Tuy nhiên ta cũng có thể thêm
hoặc bớt những từ đã có nếu thấy cần thiết. Tập các từ trong từ điển này sẽ được
sử dụng trong bước tách từ trong tài liệu cần phân cụm.
Hình: Màn hình hỗ trợ chức năng cập nhật chỉnh sửa Từ điển
- Module Lấy dữ liệu: Để xây dựng kho dữ liệu các tài liệu Web, ta tiến hành lấy
dữ liệu về. Người sử dụng sẽ nhập đường dẫn URL của trang Web, hệ thống sẽ
tự động tìm kiếm và lấy tất cả nội dung của trang Web với một độ sâu n ( đã
được định trước)
- 66 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Hình: Màn hình chức năng hỗ trợ lấy dữ liệu từ Internet
- Module Phân cụm: Sau khi tiến hành lấy dữ liệu, ta thực hiện phân cụm
tài liệu. Hệ thống sẽ tiến hành phân cụm một cách tự động. Trong lần phân cụm
khác với tập dữ liệu mới được lấy về, việc phân cụm sẽ không cần phân cụm lại
với tập dữ liệu cũ mà ta đã phân cụm trước nữa. Việc phân cụm sẽ chỉ cần thực
hiện trên tập dữ liệu mới với kết quả cũ của các lần phân cụm trước.
Trong thuật toán có sử dụng các tham số sau:
M: Số lượng nhỏ nhất con của một nút M=8
B: Hệ số nhánh của cây B=20
S2:Ngưỡng tương tự 2 S2=1.0
S1: Ngưỡng tương tự 1 S1=0.3
repThreshold: Ngưỡng của đặc trưng tiêu biểu repThreshold=0.4
MCS: Cỡ phân cụm nhỏ nhất MCS=100
- 67 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Hình: Màn hình hỗ trợ chức năng Phân cụm với dữ liệu đã lấy về từ
Internet
- Module Tìm kiếm: Người sử dụng sẽ nhập vào từ khoá cần tìm kiếm. Hệ thống
sẽ tìm các tài liệu liên quan với từ khoá.
- 68 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
Hình: Màn hình chức năng hỗ trợ Tìm kiếm.
4.4. Kết luận chương 4
Chương này là kết quả cài đặt thử nghiệm của thuật toán phân cụm cho
tài liệu Web Tiếng Việt sử dụng cấu trúc dữ liệu DC-tree đã được trình bày ở
chương 3. Chương trình cài đặt viết bằng ngôn ngữ lập trình C# trên nền tảng
.Net Framework của Microsoft sử dụng SQL Server 2000 để lưu trữ cơ sở dữ
liệu. Chương trình đã thực hiện việc phân cụm với kết quả tương đối hợp lý.
- 69 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
KẾT LUẬN
Luận văn cung cấp một số nội dung về phân cụm Web, đã đạt được một
số kết quả như sau:
- Giới thiệu khái quát về bài toán phân cụm web, các giải pháp phân cụm
web (các yêu cầu, kỹ thuật, đánh giá) trong đó chú ý tới tính tăng của các
thuật toán phân cụm wbe,
- Trình bày hai thuật toán phân cụm web có tính tăng là STC và DC-tree.
Đã phân tích các nội dung kiến thức cơ bản, nền tảng phát triển các thuật
toán này.
- Xây dựng phần mềm thử nghiệm phân cụm tài liệu theo thuật toán DCtree. Hệ thống máy tìm kiếm-DC tree do luận văn phát triển đã được đưa
lên web, có công cụ lưu các câu truy vấn của người dùng, các phân cụm
tìm thấy và các liên kết được người dùng đi tới. Hệ thống đã hoạt động và
thực hiện được việc phân cụm các tài liệu Web.
Do hạn chế về thời gian và năng lực, luận văn chưa tiến hành đánh giá
chất lượng phân cụm của hệ thống. Trong tương lai, chúng tôi sẽ tiến hành các
đánh giá công phu hơn. Chúng tôi dự kiến đưa ra các thống kê dựa trên hành vi
của hệ thống trong thực tế. Ngoài ra, chúng tôi có thể nghiên cứu các hướng giải
quyết vấn đề từ đồng nghĩa trong tiếng Việt.
- 70 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
TÀI LIỆU THAM KHÁO
Tiếng Việt
[1].
Đinh Điền, Xử lý ngôn ngữ tự nhiên, NXB Giáo Dục.
Tiếng Anh
[2]. Clement T.Yu và Weiyi Meng (1998), Principles of Database Query
Processing for Advanced Application, Morgan Kaufmann Publisher, Inc.
[3]. Gerard Salton/Michael J.McGill, Introduction to Modern Information
Retrieval.
[4]. M. Steinbach, G. Karypis, V. Kumar (2000), A Comparison of Document
Clustering Techniques, TextMining Workshop, KDD.
[5]. O. Zamir and O. Etzioni (1998), Web Document Clustering: A Feasibility
Demonstration, Proc. of the 21st ACM SIGIR Conference, 46-54.
[6]. O. Zamir, O. Etzioni, O Madani, R. M. Karp (1997), Fast and Intuitive
Clustering of Web Documents, Proc. of the 3rd International Conference on
Knowledge Discovery and Data Mining.
[7]. K. Cios, W. Pedrycs, R. Swiniarski (1998), Data Mining – Methods for
Knowledge Discovery, Kluwer Academic Publishers.
[8]. R. Krishnapuram, A. Joshi, L. Yi (1999), A Fuzzy Relative of the k-Medoids
Algorithm with Application to Web Document and Snippet Clustering, Proc.
IEEE Intl. Conf. Fuzzy Systems, Korea.
[9]. Z. Jiang, A. Joshi, R. Krishnapuram, L. Yi (2000), Retriever: Improving
Web Search Engine Results Using Clustering, Technical Report, CSEE
Department, UMBC.
[10]. T. H. Haveliwala, A. Gionis, P. Indyk (2000), Scalable Techniques for
Clustering the Web, Extended Abstract, WebDB’2000, Third International
Workshop on the Web and Databases, In conjunction with ACM
SIGMOD’2000, Dallas, TX.
[11]. A. Bouguettaya (1996), On-Line Clustering, IEEE Trans. on Knowledge
and Data Engineering.
[12]. A. K. Jain và R. C. Dubes (1988), Algorithms for Clustering Data, John
Wiley & Sons.
[13]. G. Karypis, E. Han, V. Kumar (1999), CHAMELEON: A Hierarchical
Clustering Algorithm Using Dynamic Modeling, IEEE Computer 32.
[14]. O. Zamir và O. Etzioni (1999), Grouper: A Dynamic Clustering Interface to
Web Search Results, Proc. of the 8th International World Wide Web
Conference, Toronto, Canada.
[15]. D. R. Cutting, D. R. Karger, J. O. Pedersen, J.W. Tukey (1993),
Scatter/Gather: A Clusterbased Approach to Browsing Large Document
Collections, In Proceedings of the 16th International ACM SIGIR
Conference on Research and Development in Information Retrieval.
- 71 -
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
[16]. R. Michalski, I. Bratko, M. Kubat (1998), Machine Learning and Data
Mining – Methods and Applications, John Wiley & Sons Ltd..
[17]. J. Jang, C. Sun, E. Mizutani (1997), Neuro-Fuzzy and Soft Computing – A
Computational Approach to Learning and Machine Intelligence, Prentice
Hall.
[18]. G. Biswas, J.B. Weinberg, D. Fisher (1998), ITERATE: A Conceptual
Clustering Algorithm for Data Mining, IEEE Transactions on Systems,
Man and Cybernetics.
[19]. Z. Huang (1997), A Fast Clustering Algorithm to Cluster Very Large
Categorical Data Sets in Data Mining, Workshop on Research Issues on
Data Mining and Knowledge Discovery.
[20]. Y. Yang và J. Pedersen (1997), A Comparative Study on Feature Selection
in Text Categorization, In Proc. of the 14th International Conference on
Machine Learning.
[21]. A Guttman (1984). R-tree: A dynamic index structure for spatial searching,
In Proceedings of ACM SIGMOD.
[22]. Bjornal Larsen và Chinatsu Aone (1999). Fast and effective text mining
using lineartime document clustering, In Proceedings of the ACM SIGKDD
International Conference on Knowledge Discovery and Data Mining, San
Diego, CA, USA.
[23]. C.J.van Rijbergen(1979), Information Retrieval, Butterworth & Co
(Publishers) LTd.
[24]. Wai-chiu Wong và Ada Fu (2000), Incremental Document Clustering for
Web Page Classification, IEEE 2000 Int, Conf. on Infor, Society in the 21st
century: emerging technologies anf new challenges (IS2000), Nhật Bản.
[25]. Pierre Baldi, Paolo Frasconi, Padhraic Smyth (2003). Modeling the Internet
and the Web: Probabilistic Methods and Algorithms. Wiley, 2003.
[26]. Sen Slattery (2002). Hypertext Classification. PhD Thesis (CMU-CS-02142). School of Computer Science. Carnegie Mellon University, 2002.
- 72 -