MultiBooks - Tổng hợp IT - PC part 22 pps

6 277 0
MultiBooks - Tổng hợp IT - PC part 22 pps

Đang tải... (xem toàn văn)

Thông tin tài liệu

Giả sử d i và d j là hai tài liệu. Tính tương tự của hai tài liệu theo biểu diễn SVD TS * x D *T của bảng tần số được cho bởi giá trị tích vô hướng hai cột trong ma trận D *T kết hợp với hai tài liệu đó: Ở đây ma trận đơn sau khi rút gọn sẽ có kích thước (R x R). Chú ý rằng thay vì so sánh toàn bộ M khái niệm cho hai tài liệu này, ta chỉ so sánh R khái niệm, nó là số nhỏ hơn M rất nhiều (thông thường là 200). Tìm kiếm phù hợp p đầu tiên cho truy vấn Q Giả sử Q là truy vấn. Ta coi Q như tài liệu và tạo lập véctơ vec Q cho nó như trên đây. Tuy nhiên, có một điểm khác là: Chỉ R khái niệm quan trọng là được xem xét chứ không phải xem xét tất cả N. Khi được hỏi để tìm ra p khái niệm phù hợp nhất với Q, ta sẽ phải tìm p tài liệu d a(1) , ,d a(p) như sau: 1. Với mọi 1 £ i £ j £ p, tính tương tự giữa vec Q và d a(i) lớn hơn hay bằng tính tương tự giữa vec Q và d a(j) , và 2. không có tài liệu d z nào mà tính tương tự giữa d z và vec Q vượt quá tính tương tự của d a(p) Điều này có thể thực hiện bằng sử dụng bất kỳ cấu trúc chỉ số hoá nào cho không gian R-d. Cấu trúc chỉ số hoá như vậy bao gồm cây R, cây k-d như đã nghiên cứu trước đây. Tuy nhiên, tổng quát thì cấu trúc chỉ số hóa như cây R và k-d không làm việc tốt với dữ liệu có số chiều ³ 20. Do vậy cần phải có kỹ thuật nào đó tốt hơn. Cây TV (TV-tree) được mô tả sau đây là cấu trúc chỉ số hoá phù hợp hơn cho loại dữ liệu nhiều chiều này. 4.4 Cây TV (TV-tree) Mục tiêu cơ bản của cây véctơ thu gọn (TV-Telescopic Vector Tree) là xâm nhập điểm dữ liệu trong không gian có số chiều rất lớn sao cho hiệu quả cao. Trên đây ta thấy, tài liệu d được xem như véctơ d có độ dài k, trong khi ma trận giá trị đơn, sau khi phân chia, có kích thước (k x k). Do vậy, mỗi tài liệu được xem như điểm trong không gian k chiều. Một CSDL tài liệu như mô tả trên đây được xem như tập hợp của các điểm như vậy và được chỉ số hoá phù hợp. Khi người sử dụng biểu diễn truy vấn Q, thực tế là họ xác định véctơ vec(Q) có độ dài k. Ta phải tìm p tài liệu trong CSDL mà nó phù hợp nhất với Q. Có nghĩa rằng ta phải tìm ra k láng giềng gần nhất với truy vấn Q có mặt trong CSDL tài liệu. Cây TV là cấu trúc dữ liệu mượn từ cây R. Cây TV cố gắng quyết định một cách mềm dẻo và động việc rẽ nhánh như thế nào, trên cơ sở dữ liệu đang xem xét. Ý tưởng là nếu nhiều véctơ phù hợp với một số thuộc tính (nếu nhiều tài liệu đều có các khái niệm chung), thì ta phải tổ chức chỉ số bằng rẽ nhánh đến các khái niệm đó (trường các véctơ) mà nó phân biệt giữa các véctơ/tài liệu này. Thí dụ, trong CSDL tài liệu chứa tập các báo cáo của Trường đại học Maryland, từ như database có thể xuất hiện trong hàng nghìn tài liệu. Để phân biệt tiếp theo giữa các bài báo có từ database, ta phải tổ chức chỉ số theo cách mà có thể rẽ nhánh theo sự hiện diện hay vắng mặt của vài từ khác mà nó có khả năng phân biệt hơn. 4.4.1 Tổ chức cây TV Trước khi định nghĩa cây TV để lưu trữ các điểm k chiều (k-d) thì ta phải chỉ ra hai tham số sau: 1. NumChild: số nút con cực đại mà 1 nút bất kỳ trong cây TV có thể có. 2. µ: là số lớn hơn 0 và nhỏ hơn hay bằng k, gọi nó là số chiều tích cực (number of active dimensions). Sử dụng ký pháp TV(k, NumChild, µ) để gọi cây TV, nó được sử dụng vào việc lưu trữ dữ liệu k-d, với NumChild là số nút con cực đại, µ số chiều tích cực. Như cây R, mỗi nút trong cây TV biểu diễn một vùng. Với mục đích sử dụng này, mỗi nút N trong cây TV chứa ba trường sau: 1. N.Center: Biểu diễn điểm trong không gian k-d. 2. N.Radius: Là số thực lớn hơn 0. 3. N.ActiveDims: Là danh sách của nhiều nhất µ chiều. Mỗi chiều là một số giữa 1 và k. Do vậy, N.ActiveDims là tập con của {1, ,k} của số µ hay nhỏ hơn. Giả sử x và y là những điểm trong không gian k-d, và ActiveDims là tập các chiều tích cực. Khoảng cách tích cực giữa x và y, được gọi là act_dist(x, y), cho bởi: Error! trong đó, x i , y i là giá trị của chiều thứ i của lần lượt x và y. Thí dụ, giả sử k=200, µ=5 và AvtiveDims={1,2,3,4,5} và giả sử rằng: x=(10,5,11,13,7, x 6 , x 7 , ,x 200) y=(2,4,14,8,6,y 6 ,y 7 , ,y 200 ) Error! Sau đó khoảng cách tích cực giữa x và y được cho bởi: Chú ý rằng khoảng cách tích cực giữa hai véctơ bỏ qua mọi trường mà nó không tích cực. Cho trước nút N trong cây TV là nút biểu diễn vùng chứa mọi điểm x, trong đó khoảng cách tích cực giữa x và N.Center nhỏ hơn hay bằng N.Radius. Thí dụ, nếu chúng ta có nút N với tâm ở tại N.Center=(10, 5, 11, 13, 7, 0, 0, 0, 0, , 0) và N.ActiveDims={1,2,3,4,5}, thì nút này biểu diễn vùng chứa mọi điểm x mà nó thỏa mãn: Error! Ta sử dụng ký pháp Region(N) để gọi vùng biểu diễn bởi nút N trong cây TV. Ngoài các trường Center, Radius, ActiveDims, nút N trong cây TV còn chứa trường Child của các con trỏ NumChild đến nút khác của cùng loại. Như trong trường hợp cây R, cây TV có các đặc tính sau: 1. Mọi dữ liệu được lưu trên các nút lá. 2. Mỗi nút trong cây TV (trừ gốc và các lá), trong đó ít nhất một nửa chúng phải có giá trị, do vậy, ít nhất nửa số con trỏ Child phải khác NIL. 3. Error! Nếu N là nút và N 1 , ,N r là con của nó, thì 4.4.2 Chèn vào cây TV Hãy xem xét trường hợp có không gian 5-d (khi ta chỉ có 5 khái niệm rút ra từ tập hợp tài liệu), và ta muốn chèn vài véctơ vào cây TV với tên TV(5, 3, 2). Giả sử rằng toàn bộ không gian là siêu hình cầu (hyper-spher) có tâm tại (0,0,0,0,0) và bán kính 50. Khởi đầu cây TV là rỗng. 1. Giả sử véctơ thứ nhất sẽ chèn là (5,3,20,1,5). Nó được sử dụng để tạo ra nút gốc với các tính chất sau: Root.Center=(0,0,0,0,0). Root.Radius=50. Trong trường hợp này, gốc cũng là lá, có con trỏ đến thông tin phù hợp với điểm v 1 =(5,3,20,1,5). Giả sử Root.ActiveDims={2,3}. Error! Hình 4.5a chỉ ra tình huống này. 2. Error! Giả sử véctơ tiếp theo được chèn vào là v 2 =(0, 0, 18, 42, 4). Trong trường hợp này ta cũng tạo thêm lá mới như trên đây. Hình 4.5b mô tả tình huống này. 3. Giả sử sau đó ta chèn véctơ v 3 =(0, 0, 19, 39, 6). Hình 4.5c mô tả tình huống này. Tại đây, nút gốc đã đầy, nó không thể có nút con khác nữa. 4. Giả sử véctơ tiếp theo được chèn vào là v 4 =(9, 10, 2, 0, 16). Vùng biểu diễn bởi gốc cây chứa nhiều hơn 3 đầu vào, vượt quá khả năng của gốc. Do vậy ta phải phân chia (split) gốc. Có nhiều chiến lược phân chia gốc cây. Lý tưởng là, cái ta muốn làm là lấy 4 véctơ tham gia sau đó nhóm chúng thành hai nhóm. Cách khác là chia vùng biểu diễn bởi gốc thành hai phần sao cho mỗi phần chứa 2 trong 4 véctơ. Dưới đây ta sẽ trao đổi một vài chiến lược phân chia khác. Nhưng cái lo lắng bây giờ là việc phân chia nhóm sẽ sinh ra các nút như nhau cùng tồn tại. Giả sử chiến lược phân chia tạo ra v 1 và v 4 ở cùng phần và v 2 và v 3 cùng ở phần bên kia. Trước hết v 2 và v 3 là tương tự vì chúng ở gần nhau theo quan niệm “khoảng cách tích cực” nói trên. Ba kết quả được chỉ ra trong hình 4.5d. Các giá trị của trường bán kính và tâm của nút con được làm đầy bởi giá trị bất kỳ, ta sẽ chỉ ra chúng được xác định như thế nào. Chú ý rằng gốc cây bây giờ có hai nút con: S 1 và S 2 , mỗi nút con biểu diễn một vùng như trên hình 4.5d. Mọi nút lá bây giờ đều ở mức 2 trong cây. 5. Giả sử nút tiếp theo được chèn vào là v 5 =(18, 5, 27, 9, 9). Để xác định nút con nào của gốc được chèn v 5 , ta phải thực hiện thao tác chọn cành (branch selection). Hình 4.6a chỉ ra rằng ta chọn cành đến nút con thứ nhất thay cho nút con thứ hai. Thí dụ sau sẽ mô tả chi tiết việc chọn cành. 6. Giả sử véctơ tiếp theo được chèn vào là v 6 =(0, 0, 29, 0, 3). Lần nữa ta phải thực hiện chọn cành, lần này ta có thể chọn cành bên phải như hình 4.6b. 7. Error! Tiến trình cứ tiếp tục như vậy để chèn các nút vào cây TV. Tổng quát thì có ba bước chính trong việc chèn véctơ mới v vào cây TV như sau: 1. Chọn cành (Branch Selection): Khi ta chèn véctơ mới vào cây TV và ta đang ở nút N (với các nút con N i , 1£ i £ NumChild) thì ta phải xác định nút con nào được chèn khóa. 2. Phân chia (Splitting): Ta sử dụng tiệm cận này khi ta đang ở tại nút lá mà nó đã đầy và không thể chèn thêm véctơ v. Bước này đòi hỏi phải bẻ gẫy trong nút hiện hành. 3. Thu gọn (Telescoping): Giả sử nút N được bẻ gẫy thành hai nút con N 1 và N 2 . Trong trường hợp này hóa ra rằng mọi véctơ trong Region(N 1 ) phù hợp không chỉ với số chiều tích cực của nút cha N mà phải hơn chút nữa. Việc bổ sung các chiều phụ này được gọi là thu gọn (telescoping). Thu gọn còn đòi hỏi huỷ bỏ một số chiều tích cực, ta sẽ xem xét sau. Chọn cành (Branch Selection) Error! . hoá nào cho không gian R-d. Cấu trúc chỉ số hoá như vậy bao gồm cây R, cây k-d như đã nghiên cứu trước đây. Tuy nhiên, tổng quát thì cấu trúc chỉ số hóa như cây R và k-d không làm việc tốt với. hơn. Cây TV (TV-tree) được mô tả sau đây là cấu trúc chỉ số hoá phù hợp hơn cho loại dữ liệu nhiều chiều này. 4.4 Cây TV (TV-tree) Mục tiêu cơ bản của cây véctơ thu gọn (TV-Telescopic Vector. tập hợp của các điểm như vậy và được chỉ số hoá phù hợp. Khi người sử dụng biểu diễn truy vấn Q, thực tế là họ xác định véctơ vec(Q) có độ dài k. Ta phải tìm p tài liệu trong CSDL mà nó phù hợp

Ngày đăng: 08/07/2014, 09:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan