Thuật toán phân cụm cây hậu tố

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) 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 ThS. Công nghệ thông tin 1 01 10 (Trang 57)

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âụ

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 đó.

Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.

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ốị 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$, 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

Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.

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 đổị

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ệụ Đ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àọ 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.

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 nhaụ

Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.

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ệụ 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ệụ 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ệụ 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ệụ Do đó, mỗi node biểu diễn một

Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.

cụm cơ sở (base 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 7 và các cụm cơ sở tương ứng.

Bảng 1. Sáu node từ hình 7 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ừ

Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.

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 nhaụ Để tránh việc có nhiều các cụm gần giống nhaụ 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)

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 8. Ở đâ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ó.

Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.

Hình 8. Đồ thị các cụm cơ sở của ví dụ trong Hình 7 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ệụ 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àỵ 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ệụ 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ệụ

3.3. Thut toán phân cm s dng cây phân cm tài liu

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ệụ 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ệụ Sau khi trích chọn các vector đặc trưng của các tài

Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.

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ệụ Đ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 nhaụ 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 laị

(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ệụ

Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.

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 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àỵ

a, Trích chn đặc trưng tài liu

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ệụ 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ệụ 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ệụ 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 đầỵ

Nguyễn Thị Thu Hằng-Luận văn cao học-Trường Đại học Công nghệ-2007.

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 từ kết thúc thường được sử dụng để xoá các từ ít có ý nghĩạ 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ệụ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

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) 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 ThS. Công nghệ thông tin 1 01 10 (Trang 57)

Tải bản đầy đủ (PDF)

(90 trang)