MỤC LỤC
Tuy nhiên các thuật toán IR được phát triển cho tập tài liệu nhỏ và không liên kết, ví dụ như tiêu đề của các bài báo, cuốn sách trong thư viện, trong khi đó Web lại là một khối dữ liệu cực kỳ lớn, thay đổi thường xuyên cộng với khả năng phân tán ở mọi nơi, điều đó đòi hỏi phải có một kỹ thuật mới hoặc là sự mở rộng của các kỹ thuật cũ để sao cho cấu trúc bảng chỉ mục (Index) của ta có thể thay đổi, cập nhật một cách dễ dàng tận dụng triệt để mối liên kết giữa các trang Web để xác định một cách dễ nhất các trang liên quan. Một số nghiên cứu đã ước lượng kích thước của cơ sở dữ liệu Web, trong khi đưa ra các số lượng khác nhau nhưng tất cả đều đồng ý rằng các trang Web có hiệu lực hiện nay, với kích thước trung bình của mỗi trang khoảng 5Kb tới 10Kb thì ta cũng có ít nhất là 10Tb dữ liệu, các tỷ lệ của các trang Web còn kinh khủng hơn, kích thước của trang Web sẽ tăng lên gấp đôi trong vòng hai năm và tỷ lệ đó sẽ tiếp tục tăng trong hai năm tiếp theo.
Trong khi đó, đối với bộ công cụ tìm kiếm Web, các truy vấn thì rất nhỏ còn tập dữ liệu thì lại rất lớn, nó đã ngăn chặn sự đánh giá về độ tương quan dựa trên phép tính gần đúng từ việc lọc số lượng các trang không liên quan ra khỏi kết quả tìm kiếm. Trong một số hệ thống, người sử dụng có thể đưa ra một số đánh giá về độ liên quan của tài liệu tìm kiếm được và những thông tin này được sử dụng để tự động thay đổi truy vấn bằng cách thêm vào các từ từ những tài liệu liên quan và xóa đi các từ từ những tài liệu không liên quan.
Xây dựng dãy thăm dò bằng cơ chế thăm dò tuyến tính như trên có ưu điểm là đơn giản, nhưng hiệu năng của hệ thống sẽ giảm nhanh chóng khi hệ số tải tăng, vì thế mà cơ chế thăm dò hiện nay hầu như chỉ dùng để minh họa cho ý tưởng của phương pháp Open – Addressing, thay vào đó người ta sử dụng cơ chế băm kép với việc sử dụng hai hàm băm thay vì một như ở trên. 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.
Ở đâ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. 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.
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).
Truy cập ngẫu nhiên được hỗ trợ bởi việc sử dụng bảng chỉ mục B- Tree để giá trị các ánh xạ nhận dạng các trang tới các vị trí vật lý trên đĩa, chúng ta cũng có thể đưa ra một cách tổ chức là sự kết hợp của băm và bản ghi, trong đó việc lưu trữ được chia thành các phần liên tiếp, các trang được băm thành các phần và mỗi phần được tổ chức giống như một File có cấu trúc bản ghi. Thứ hai, có rất nhiều trang Web không đủ để tự diễn tả nó muốn nói về vấn đề gì, do vậy nếu ta áp dụng kỹ thuật IR để kiểm tra nội dung của một trang thì sẽ không cho một câu trả lời tốt một ví dụ thông thường để minh họa cho vấn đề này là khi ta đánh từ tìm kiếm “search engines” các trang chủ của hầu hết bộ công cụ tìm kiếm chính đều không chứa đựng văn bản “search engines”.
Trong mô hình lướt ngẫu nhiên, sự thay đổi có thể làm cho người lướt Web thỉnh thoảng sẽ gặp những điều tẻ nhạt và có thể nhảy đến một trang ngẫu nhiên trên Web (thay cho việc đi tới một liên kết ngẫu nhiên từ trang Web hiện thời). Hệ số phân rã d chỉ cho biết mức độ thường xuyên gặp điều phiền phức của người lướt Web như thế nào.
Giá trị sắp xếp còn lại được phân bố đồng đều cho tất cả các trang trên Web.
Bên cạnh đó cần chú ý rằng, chúng ta đang quan tâm tới thứ tự liên quan của các trang dựa vào PageRank (thứ tự này được sử dụng để sắp xếp các trang) hơn là giá trị thực của PageRank, vì thế chúng ta có thể kết thúc bước lặp khi thứ tự các trang trở nên cố định. Sự chọn lựa đồ thị con (cụ thể là vài nghìn trang ) không chỉ tập chung vào việc phân tích liên kết trên hầu hết các phần liên quan trong Web, mà đồng thời cũng giảm số lượng công việc cho pha tiếp theo (do việc chọn lựa đồ thị con và phân tích nó đều được thực hiện trong thời gian truy vấn nên nó rất quan trọng để hoàn thành chúng trong một thời gian ngắn).
Cách lựa chọn tìm kiếm thứ hai là xây dựng các cấu trúc dữ liệu cho văn bản ( gọi là bảng chỉ mục - index ) để tăng tốc độ tìm kiếm, phù hợp với việc xây dựng và duy trì các chỉ số khi tập văn bản là lớn và nửa tĩnh (semi- static).Trong phần này, em sẽ đưa ra hai kỹ thuật đánh chỉ số chính: Inverted File và Signature Files - đó là các kỹ thuật tìm kiếm dựa vào từ khác trong đó nhấn mạnh kỹ thuật Inverted Files - là sự lựa chọn hợp lý và có nhiều ứng dụng nhất hiện nay. Signature files sử dụng phương pháp mã hóa chồng nhau để tạo ra nhãn (signature) cho nhập tài liệu sẽ được chia thành khối logic, mỗi khối chứa đựng D từ phân biệt (đây là các từ không nằm trong StopList ).
Ngay cả khi bỏ qua các từ kết thúc (trong thực tế là ngầm định khi đánh chỉ số các từ), trong thực tế toàn bộ không gian của các vị trí xuất hiện của các từ này chiếm khoảng 30% đến 40%kích thước văn bản. Các block có thể được cố định về kích thước hoặc có thể xác định bằng cách chia văn bản thành files,các tài liệu, các trang Web… việc chia văn bản thành các block làm tăng hiệu quả về thời gian và chất lượng tìm kiếm.Trong phần thiết kế chương trình do được thực hiện trên nguồn dữ liệu là các file HTML, XML, TXT nên em đã chia tập tài liệu thành các block lớn là các File ( hoặc trang Web ), và trong mỗi block lớn được chia thành các Block nhỏ hơn dựa theo cấu trúc của đoạn văn bản nằm trong File (ví dụ Meta, Comment, Header, Title,…).
Cấu trúc bảng băm có thể cho ta độ phức tạp trong việc xoá, chèn và tìm kiếm một khoá là tối ưu, tuy nhiên cấu trúc này không thể giải quyết cá truy vấn với kí tự đại diện ( ví dụ như Search Libra *) với truy vấn dạng này ta phải có một cấu trúc dữ liệu cho phép tìm kiếm theo phạm vi, cấu trúc đơn giản nhất có thể là một mảng sắp xếp. Quá trình phân tích bắt đầu bằng việc phân tích từng văn bản để nhận dạng các từ sau đó chuẩn hóa chúng và lưu vào bộ đệm trong bộ nhớ chính, sau khi toàn bộ tài liệu đã được lập chỉ mục và lưu vào trong bộ đệm ta đi bộ trên bộ đệm đó để loại bỏ các từ không cần thiết - đó là những từ xảy ra quá thường xuyên trong tập tài liệu.
+ Từ cần loại bỏ không nằm trong StopList nhưng nó xảy ra quá thường xuyên trong tập tài liệu của ta ( từ quá thường xuyên ở đây có nghĩa là nó xuất hiện vượt quá một ngưỡng cửa qui định của ta, ví dụ như có mặt trên 80% số lượng File, hoặc trên 200 File ), quá trình này được thực hiện sau khi ta lập chỉ mục song toàn bộ tài liệu và bảng chỉ mục đang được lưu trong bộ đệm. Khi đó ta có R1 là danh sách kết quả các File chứa đựng từ Word1, R2 là danh sách kết quả các File chứa đựng từ Word2, các File nằm trong R1 và R2 đều được sắp xếp theo Filenum, khi đó ta tiến hành duyệt hai danh sách từ đầu tới cuối và thực hiện trộn hai danh sách này, nhưng sự kiện trộn chỉ được thực hiện khi R1 -> filenum = R2 ->filenum (có nghĩa là hai từ này đều được nằm trong một file ), khi đó tần số sẽ là tổng hai tần số.