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.
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.
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.
đượ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.
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 N lower l = × và (2) m N upper u= × 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.