Cõy BLink – Trees

Một phần của tài liệu Bộ công cụ tìm kiếm thông tin trên mạng (Trang 33)

4. Nội dung luận văn

1.4.2.4Cõy BLink – Trees

Với định nghĩa được nờu ở trờn, ta cú được đầy đủ những tớnh chất tối ưu của cõy B+ - Tree, xong ta nhận thấy rằng cỏc trang lỏ trờn cõy tạo thành một mảng sắp xếp nhưng lại là một mảng rời rạc, vỡ vậy mà nú gõy khú khăn cho quỏ trỡnh tỡm kiếm khi mà phạm vi tỡm kiếm được nằm trờn nhiều hơn hai trang, vớ dụ như ta lấy 4 giỏ trị liền nhau trong một lần truy cập nhưng 4 giỏ trị này được nằm trờn hai lỏ liền nhau của cõy. Để khắc phục vấn đề này em xin đưa ra cấu trỳc cõy BLink – Tree, trong đú mỗi trang cú thờm một con trỏ trỏ tới ngay trang liền kề với nú.

1.4.2.5 Lựa chọn phương phỏp lưu trữ dữ liệu tần số

Trong tài liệu cỏc từ thường xuất hiện rất nhiều lần, vỡ vậy mà hệ thống lập chỉ mục phải cú khả năng lưu trữ dữ liệu tần xuất một cỏch hiệu quả. Dưới đõy em đưa ra một số phương phỏp duy trỡ dữ liệu này cho cỏc khúa: * Mỗi tần xuất cú thể được lưu trữ như một khúa trong bảng chỉ mục. Phương phỏp này gõy lóng phớ khụng gian bộ nhớ và gõy phức tạp cho thuật toỏn B-Tree

* Dữ liệu tần suất cú thể được lưu trữ trong nỳt cựng với khúa. Nhưng do sự giới hạn về kớch thước của nỳt nờn chỉ cú một số hữu hạn tần xuất được lưu trong nỳt.

* Mỗi khúa trong bảng chỉ mục cú thể chứa đựng một con trỏ tới một khối lưu trữ dữ liệu tần xuất ở bờn ngoài. Nú đũi hỏi thời gian truy cập đĩa khi một khúa được thờm vào hay được truy cập đến. Kớch thước của khối ngoại vi cú thể được nhõn đụi khi nú trở nờn đầy, ớt nhất một nửa khụng gian trong khối luụn được sử dụng.

* Một vài dữ liệu tần số được lưu cựng với khúa,và khi dữ liệu đẫ được tập hợp đủ, một số trong chỳng được gửi ra khối bờn ngoài. Kỹ thuật này được gọi là Pulsing.

Hỡnh 9: Cấu trỳc cõy B+ – Tree ( m = 4)

29 281

6 12 19 99 132 170 308 322 351 369

31 32 35 99 100 132 141 147 154 170 216 272

Dữ liệu kết hợp với khoá

CHƯƠNG II

CÁC CễNG CỤ TèM KIẾM CƠ BẢN 2.1 Thu hồi trang Web

2.1.1 Bộ thu hồi Web

Cỏc Web Crawler cú nhiệm vụ thu hồi cỏc trang Web site khỏc nhau trờn Internet về cho bộ Indexer. Web Crawler đầu tiờn được thiết kế bởi Matthew Gray năm 1993 và được đặt tờn là Wanderer. Web Crawler cú đầu vào là một tập cỏc giỏ trị khởi tạo URL – S0. Đầu tiờn nú đặt S0 trong một hàng, nơi lưu trữ tất cả cỏc giỏ trị URL thu được và sắp xếp chỳng theo một thứ tự ưu tiờn nào đú. Từ hàng lưu trữ này, Crawler lấy một giỏ trị URL, tải trang tương ứng xuống rồi trớch tất cả giỏ trị URL nằm trong trang và đặt chỳng vào hàng. Quỏ trỡnh xử lý này được lặp đi lặp lại cho tới khi Web Crawler quyết định dừng. Cỏc địa chỉ mới tỡm thấy cú thể được sử dụng ngay để bộ thu hồi Web tỡm ra trang Web mới hoặc chỳng cú thể được lưu trữ vào cơ sở dữ liệu của bộ thu hồi Web để nú lập lịch tỡm kiếm sau này. Cỏc Web Crawler xem Internet như một đồ thị với cỏc Site là cỏc đỉnh của đồ thị và duyệt đồ thị theo chiều rộng hoặc chiều sõu để thu thập thụng tin cần thiết. Nú cũng cho phộp người sử dụng đăng ký cỏc trang Web của mỡnh bằng cỏch thờm địa chỉ URL của họ vào tập S0 cỏc URL ban đầu. Nhờ vậy mà cỏc thụng tin về trang Web của họ được cập nhật sớm hơn, trước khi Web Crawler được tỡm thấy, Cú hai vấn đề mà Web Crawler cần phải đối phú: Thứ nhất là cỏc trang Web luụn thay đổi, vỡ thế cỏc trang mà chỉ mục trỏ đến cú thể khụng cũn tồn tại nữa. Thứ hai là vấn đề cập nhật lại cỏc trang

Web khi chỳng đó lỗi thời. Web Crawler cú thể tỡm kiếm hàng triệu trang Web mỗi ngày. Để nghiờn cứu một Web Crawler người ta thường tỡm hiểu cỏc vấn đề sau:

2.1.2 Chọn lựa cỏc trang

Ở đõy, Crawler luụn muốn chọn lọc cỏc trang quan trọng, để thu thập được một tập dữ liệu cú chất lượng cao, để xem Crawler hoạt động và gợi ý như thế nào để thăm cỏc trang tốt , chỳng ta đi tỡm hiểu vấn đề này.

* Ma trận độ quan trọng

Cho một trang Web P, chỳng ta cú thể định nghĩa độ quan trọng của trang theo một trong cỏc cỏch sau.

1.Mức độ quan tõm: Mục đớch đặt ra là thu được cỏc trang liờn quan tới nội

dung tỡm kiếm của một hoặc là một nhúm người sử dụng. Để định nghĩa được khỏi niệm này là thụng qua mức độ quan tõm. Cho một truy vấn Q, mức độ quan trọng của P được định nghĩa là “độ tương quan văn bản ” giữa P và Q. Một cỏch hỡnh thức hơn, để tớnh toỏn độ tương quan giữa cỏc văn bản, đầu tiờn chỳng ta mụ tả mỗi tài liệu (P hoặc Q) như là một vộc tơ m chiều w1, w2..., wm, wi trong vộc tơ này diễn tả từ thứ i trong bộ từ vựng. nếu wi khụng xuất hiện trong tài liệu thỡ wi bằng 0, cũn nếu xuất hiện wi được thiết lập để diễn tả ý nghĩa của từ. Một cỏch phổ biến để tớnh mức độ quan trọng wi đú là nhõn số lần của từ thứ i xuất hiện trong văn bản với nghịch đảo của lần suất tài liệu (inverse document frequence - IDF) của từ thứ i. IDF bằng 1 chia cho số lần từ đú xuất hiện trong toàn bộ Web. Sau đú chỳng

ta định nghĩa độ tương quan giữa P và Q là tớch cosine giữa cỏc vộc tơ P và Q. Giả sử truy vấn Q diễn tả sự quan tõm của người sử dụng, thỡ ma trận này chỉ ra trang P liờn quan tới nú như thế nào.Chỳng ta sử dụng kớ hiệu IS(P) để chỉ độ quan trọng ma trận này.

Lưu ý rằng nếu chỳng ta khụng sử dụng toỏn hạng IDF trong việc

túnh độ tương quan thỡ độ quan trọng của một trang cú thể được tớnh toỏn với thụng tin cục bộ, vớ dụ như là P và Q. Cũn nếu sử dụng số hạng IDF thỡ chỳng ta cần thụng tin toàn cục. Trong suốt quỏ trỡnh xử lý Crawling chỳng ta khụng cú toàn bộ tập tài liệu vỡ thế chỳng ta phải ước lượng thừa số IDF từ cỏc trang đó được Crawling, hoặc từ vài số hạng được tớnh toỏn từ trước. Chỳng ta sử dụng IS (P) chỉ độ quan trọng của trang P được tớnh theo cỏch trờn để phõn biệt với độ quan trọng thụng thường IS(P) (được tớnh toỏn sau khi toàn bộ trang Web đó được tải).

2. Mức độ phổ biến: Một cỏch để định nghĩa mức độ phổ biến là sử dụng

tổng số Backlink của một trang ( thuật ngữ backlink ở đõy được định nghĩa số cỏc liờn kết trỏ tới trang đó cho). Vỡ thế cỏc Backlink của trang P là tập hợp tất cả cỏc liờn kết trờn cỏc trang trỏ tới P. Khi sử dụng cỏc giỏ trị

backlink như một ma trận đỏnh giỏ mức độ phổ biến thỡ giỏ trị đỏnh giỏ mức độ quan trọng của trang P là số cỏc liờn kết tới P xuất hiện trờn toàn bộ Web. Chỳng ta sử dụng ký hiệu IB(P) để phõn biệt cỏch tớnh này với cỏch tớnh độ quan trọng khỏc. Bằng trực giỏc ta thấy rằng một trang Web P được nhiều trang Web khỏc liờn kết tới thỡ sẽ quan trọng hơn cỏc trang Web khỏc liờn kết tới thỡ sẽ quan trọng hơn cỏc trang Web ớt được cỏc trang Web khỏc đề cập tới. Trờn Web IB(P) thường được sử dụng để sắp xếp kết quả tỡm kiếm

tới người sử dụng cuối sao cho cỏc trang đầu tiờn giống với nội dung đang được quan tõm nhất. Lưu ý rằng đỏnh giỏ IB(P) đũi hỏi phải tớnh tổng của cỏc backlink trờn toàn bộ Web. Một Crawler cú thể ước lượng giỏ trị này với IB’(P) - số lượng cỏc liờn kết đó được xem xột đến trang P.

3. Theo vị trớ của trang : Cỏch xỏc định vị trớ quan trọng của trang P là

một hàm tớnh theo vị trớ của nú IL(P), chứ khụng phải là nội dung của nú. Nếu URL u dẫn tới trang P, thỡ IL (P) là một hàm của u. Cho vớ dụ URL kết thỳc với “.com” cú thể được cho rằng phổ biến hơn cỏc URL kết thỳc ở dạng khỏc, hoặc URL chứa đựng xõu “home” cú thể được quan tõm URL khỏc. Ma trận vị trớ thỉnh thoảng cũng cho rằng cỏc URL với ớt đường gạch chộo sẽ thường dựng hơn cỏc URL cú nhiều đường gạch chộo. Cỏc ma trận vị trớ cú thể được xem xột như là một trường hợp đặc biệt của ma trận độ quan tõm, xong chỳng ta cú thể liệt kờ ra đõy một cỏch riờng biệt bởi chỳng rất dễ dàng để đỏnh giỏ. Cụ thể là tất cả cỏc ma trận vị trớ đề xuất ở đõy mang tớnh cục bộ, bởi ta cú thể ước lượng một cỏch đơn giản trờn giỏ trị URL u. Ma trận đỏnh giỏ mức độ của chỳng ta cú thể được kết hợp trong nhiều cỏch khỏc nhau. Dựa vào vị trớ độ quan trọng của trang Web khụng chỉ phụ thuộc vào nội dung trang Web mà cũn thể hiện ở địa chỉ URL của chỳng. (adsbygoogle = window.adsbygoogle || []).push({});

Vớ dụ chỳng ta cú thể định nghĩa ma trận:

IC(P) =k1 . IS (P) + k2 .IB(P) + k3 .IP (P) với k1,k2,k3 là cỏc hằng số.

* Cỏc mụ hỡnh thu hồi

Vấn đề đặt ra ở đõy là thiết kế một Crawler để cú thể thăm cỏc trang quan trọng dựa trờn một ma trận đỏnh giỏ mức độ quan trọng nào đú. Dựa trờn những ước lượng mà Crawler sẽ phải gợi ý cỏc trang quan trọng để tỡm và nạp tiếp theo. Dưới đõy là hai mụ hỡnh phổ biến nhất của một bộ Crawler:

+ Thu hồi và dừng: Ở mụ hỡnh này, Crawler C bắt đầu tại trang P0 và dừng sau khi đó thăm K trang ( trong đú K là một số khụng đổi xỏc định số lượng cỏc trang Crawler sẽ tải trong một quỏ trỡnh thu hồi). Theo định nghĩa này một Crawler hoàn hảo sẽ thăm cỏc trang R1, R2,..., Rk trong đú R1 cú giỏ trị quan trọng cao nhất, R2 cú giỏ trị quan trọng cao thứ 2.... Chỳng ta cú thể gọi cỏc trang R1, Rk là cỏc trang núng . Cũn đối với K trang được thăm

bởi Crawler thực sự sẽ chỉ chứa đựng M≤K trang với sự sắp xếp cao hơn

hoặc bàng Rk , lưu ý rằng chỳng ta cần biết sự sắp xếp chớnh xỏc của tất cả cỏc trang để thu được giỏ trị M, rừ ràng sự ước lượng này là khụng thể cho tới khi chỳng ta tải toàn bộ cỏc trang xuống và cú một bức tranh toàn cảnh về Web.

Ta định nghĩa hiệu suất thực hiện của Crawler C là PCS(C) = (M.100)/K. Khả năng thực hiện của cỏc Crawler lớ tưởng là 100%. Crawler quản lý việc thăm toàn bộ cỏc trang một cỏch ngẫu nhiờn và cú thể thăm lại chỳng, sẽ cú hiệu suất là (K . 100 )/T, trong đú T là tổng số lượng cỏc trang trờn Internet, sỏc xuất thăm trang núng là K/T).Vỡ vậy số lượng mong đợi của cỏc trang mong muốn khi Crawler dừng là K2/ T.

+ Thu hồi và dừng với ngưỡng: Giả sử rằng Crawler thăm K trang. Bõy

giờ chỳng ta đưa ra một giỏ trị mục tiờu G về độ quan trọng và bỏt kỳ trang nào cú mức độ quan trọng cao hơn G được xem là nống. Giả sử rằng tổng số cỏc trang núng là H. Hiệu suất Crawler, PST(C), là phần trăm của cỏc trang núng đó được thăm sau khi Crawler dừng. Nếu K<H thỡ một Crawler lý tưởng sẽ cú hiệu suất 100%. Một Crawler ngẫu nhiờn hoàn hảo khi thăm lại cỏc trang sẽ mong đợi thăm(H/T).K trang núng khi nú dừng. Vỡ thế hiệu suất

của nú là(K.100)/T. Chỉ khi Crawler ngẫu nhiờn thăm tất cả T trang thỡ hiệu suất mong đợi là 100%.

* Ma trận thứ tự

Một Crawler lưu trữ một hàng cỏc giỏ trị URL mà nú đó tỡm thấy trong suốt quỏ trỡnh crawl, mà phải lừa chọn từ hàng này một giỏ trị URL được thăm tiếp theo. Ma trận thứ tự sẽ được Crawler sử dụng cho sự lựa chọn này, vớ dụ nú chọn URL u sao cho giỏ trị thứ tự của nú là cao nhất trong số tất cả cỏc URL trong hàng. Ma trận thứ tự cú thể chỉ sử dụng cỏc thụng tin được tỡm thấy bởi Crawler. Ma trận thứ tự nú cú cựng nghĩa với ma trận đỏnh giỏ mức độ quan trọng. Chẳng hạn chỳng ta đang tỡm kiếm cỏc trang cú IB(P) cao, thỡ cũng tương tự như ta chọn chỳng theo thứ tự của giỏ trị IB’(P) (ma trận PageRank).

Ma trận vị trớ cú thể được sử dụng một cỏch trực tiếp để lựa chọn thứ tự, do URL của trang P cho ta ngay giỏ trị IL(P). Tuy nhiờn, với cỏc ma trận tương quan, nú khú hơn nhiều để đưa ra một ma trận thứ tự, khi chỳng ta vẫn chưa tỡm thấy P.

2.2 Lưu trữ

Từ hỡnh 3 cho chỳng ta thấy kho lưu trữ cỏc trang là một hệ thống lưu trữ mở rộng để quản lý tập hợp cỏc trang Web. Kho lưu trữ sẽ thực hiện hai chức năng cơ bản. Thứ nhất nú cung cấp một giao diện để Crawler lưu trữ cỏc trang. Thứ hai, nú phải cung cấp cỏch truy cập hiệu quả để cỏc mụ đun chỉ mục và mụ đun phõn tớch tập hợp sử dụng cho việc tỡm kiếm cỏc trang. Một kho lưu trữ và quản lý một tập rất lớn cỏc đối tượng dữ liệu, ở đõy chớnh là cỏc trang Web. Tuy nhiờn một kho lưu trữ Web khụng phải

cung cấp nhiều chức năng như cỏc hệ thống File và cỏc hệ thụng cơ sở dữ liệu, nhưng thay vào đú như khả năng mở rộng vỡ nú phải phõn tỏn kho lưu trữ trờn một nhúm cỏc mỏy tớnh và cỏc đĩa để đối phú với kớch thước của Web. Bờn cạnh đú là việc tồn tại mụ hỡnh truy nhập kộp, khi đú kho lưu trữ phải được hỗ trợ hai mụ hỡnh khỏc nhau cú hiệu quả truy cập ngang nhau. Truy cập ngẫu nhiờn sử dụng để thu hồi một trang Web cụ thể cho bởi một giỏ trị nhận dạng duy nhất của trang. Tuy cập theo luồng được sử dụng để thu hồi toàn bộ tập hợp, hoặc là một vài tập con quan trọng như một luồng cỏc trang. Truy cập ngẫu nhiờn được sử dụng bởi cụng cụ truy vấn để đưa ra cỏc bản sao từ bộ đệm tới người sử dụng cuối. Truy cập theo luồng được sử dụng bởi cỏc mụ đun lập chỉ mục và mụ đun phõn tớch tập hợp để xử lớ và phõn tớch một số lượng lớn cỏc trang. Do Web trao đổi rất nhanh nờn kho lưu trữ cần được điều khiển với khả năng biến đổi cao. Khi nhận cỏc phiờn bản từ cỏc trang Web từ Crawler, phần khụng gian bị chiếm gữi bởi phiờn bản được phục hồi thụng qua việc nộn và tổ chức lại. Hơn nữa, phải trỏnh sự xung đột giữa việc xử lý cập nhật và cỏc ứng dụng truy cập trang. Ngoài ra cỏc trang quỏ hạn thỡ kho lưu trữ khụng được thụng bỏo, vỡ thế kho lưu trữ phải cú một kĩ sảo để dũ xột cỏc và rời cỏc trang đó quỏ hạn.

Để thiết kế kho lưu trữ Web phõn tỏn sẽ cú ba vấn đề chớnh tỏc động tới đặc thự và khả năng thực hiện của kho lưu trữ.

2.2.1.Sự phõn tỏn trang theo cỏc nỳt: Cỏc trang cú thể được phõn bố tới cỏc

nỳt sử dụng một số chiến lược khỏc nhau. Vớ dụ, với chiến lược phõn tỏn đồng bộ, tất cả cỏc nỳt được đối xử tương tự nhau. Một trang đó cho cú thể được phõn bố tới bất kỳ nỳt nào trong hệ thống khụng phụ thuộc vào giỏ trị nhận dạng của nú. Cỏc nỳt sẽ lưu trữ cỏc phần của tập hợp tương ứng với

khả năng lưu trữ của nú. Ngược lại, với chiến lược phõn bố băm, sự phõn bố cỏc trang tới cỏc nỳt sẽ phụ thuộc vào giỏ trị nhận dạng của trang. Trong trường hợp này, giỏ trị nhận dạng trang sẽ được băm cho ta một giỏ trị nhận

Một phần của tài liệu Bộ công cụ tìm kiếm thông tin trên mạng (Trang 33)