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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 8 -
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.
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
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 4 -
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
74 trang |
Chia sẻ: maiphuongtl | Lượt xem: 1845 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Luận văn 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ý 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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 39 -
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
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 40 -
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:
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 41 -
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
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 42 -
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
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 43 -
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ế
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 44 -
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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 45 -
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).
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 46 -
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ố A$, NA$,
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 47 -
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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 48 -
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
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 49 -
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)
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 50 -
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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 51 -
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 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”.
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
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 52 -
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
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 53 -
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
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 54 -
(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
liệu, ví dụ W=(w1,w2,...,wn), trong đó wj=∑
=
N
i
ijw
1
, và n là số các đặc trưng đã được
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:
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 55 -
F(T)=
RP
PR
+
2
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= ∑
∑
∈
∈ ×
MT
MT
T
TFT ))((
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 DC-
tree, 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ó.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 56 -
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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 57 -
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
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 58 -
đượ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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 59 -
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)
m
Nlowerl ×= và (2)
m
Nupperu ×=
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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 60 -
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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 61 -
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 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ề.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 62 -
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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 63 -
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ự.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 64 -
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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 65 -
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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 66 -
- 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ỉ 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)
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 67 -
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
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 68 -
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á.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 69 -
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ý.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 70 -
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 DC-
tree. 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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 71 -
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.
Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.
- 72 -
[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-02-
142). School of Computer Science. Carnegie Mellon University, 2002.
Các file đính kèm theo tài liệu này:
- MSc07_Nguyen_Thi_Thu_Hang_Thesis_Draft.pdf