Nghiên ứu searh engine và một số thuật toán đối sánh mẫu ho hệ thống tìm kiếm thông tin trên mạng

Tìm hiểu về thuật toán đối sánh mẫu trong công cụ tìm kiếm. Khám phá cách công cụ tìm kiếm hoạt động để trả về kết quả phù hợp nhất.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2013

93
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Search Engine Tóm Tắt Thuật Toán Đối Sánh Mẫu Tìm Kiếm

Ngày nay, công cụ tìm kiếm đóng vai trò then chốt trong việc định hướng người dùng tiếp cận nguồn thông tin phong phú trên internet. Để đáp ứng nhu cầu tìm kiếm đa dạng, thuật toán tìm kiếm không ngừng được cải tiến, đặc biệt là trong lĩnh vực đối sánh mẫu (pattern matching). Bài viết này sẽ đi sâu vào các thuật toán này, từ những phương pháp cổ điển đến những ứng dụng hiện đại của máy học trong tìm kiếmhọc sâu trong tìm kiếm, đồng thời đề cập đến các yếu tố SEO (Search Engine Optimization) quan trọng. Tài nguyên trên World-Wide-Web hết sức phong phú và rất hữu ích đối với cuộc sống và công việc của nhiều người trên khắp thế giới. Để tìm kiếm một thông tin trên mạng chỉ cần đơn giản là truy cập vào một trang tìm kiếm như Google và gõ vào từ khóa cần tìm rồi nhấn nút. Sau một khoảng thời gian rất ngắn một danh sách các trang web phù hợp với từ khóa sẽ được trả về và được sắp theo thứ tự những trang có nội dung gần với yêu cầu của người sử dụng nhất thì sẽ hiển thị ở đầu danh sách.

Các thuật toán đối sánh mẫu cho phép hệ thống xác định và trích xuất thông tin liên quan từ khối lượng dữ liệu khổng lồ. Sự kết hợp giữa xử lý ngôn ngữ tự nhiên (NLP) và các thuật toán này mở ra khả năng tìm kiếm ngữ nghĩa, giúp hệ thống hiểu rõ ý định của người dùng, thay vì chỉ đơn thuần đối sánh mẫu văn bản. Các công cụ tìm kiếm ngày nay không chỉ dựa vào index tìm kiếm, web crawler, spider bot để thu thập dữ liệu mà còn sử dụng các kỹ thuật phân tích truy vấn phức tạp để đảm bảo độ chính xác tìm kiếmđộ tin cậy tìm kiếm cao nhất. Theo nghiên cứu của Nguyễn Vinh Quy trong luận văn thạc sĩ tại Đại học Bách Khoa Hà Nội (2013), search engine không chỉ đơn thuần là một trang web với các mã HTMT đơn giản mà nó là cả một hệ thống gồm nhiều bộ phận, mỗi bộ phận thực hiện một chức năng như dò tìm các trang trên Internet, tải chúng về, phân hạng, lập chỉ mục, trả về kết quả cho người sử dụng. Việc tối ưu hóa công cụ tìm kiếm là yếu tố then chốt để đảm bảo nội dung của một trang web được hiển thị ở vị trí cao trên SERP (Search Engine Results Page).

1.1. Lịch Sử Phát Triển của Công Cụ Tìm Kiếm Tổng Quan

Từ những công cụ tìm kiếm sơ khai dựa trên đối sánh mẫu đơn giản, internet đã chứng kiến sự trỗi dậy của các hệ thống phức tạp hơn, tận dụng thuật toán PageRank và các kỹ thuật máy học. Các giai đoạn phát triển chính bao gồm sự ra đời của các thư mục web thủ công, sự xuất hiện của các crawler-based search engine, và sự bùng nổ của tìm kiếm ngữ nghĩa nhờ xử lý ngôn ngữ tự nhiên (NLP). Sự phát triển nhanh chóng của Internet, các tài nguyên trên World-Wide-Web hết sức phong phú và rất hữu ích đối với cuộc sống và công việc của nhiều người trên khắp thế giới.

Các công nghệ này cho phép các trang web có nội dung gần với yêu cầu của người sử dụng nhất thì sẽ hiển thị ở đầu danh sách. Google được ra đời năm 1997 bởi hai thành viên sáng lập là Larry Page và Sergey Brin. Lúc đầu họ đặt tên cho cỗ máy tìm kiếm là BackRub sau đó đổi tên nó thành Google. Các công cụ tìm kiếm ngày nay không chỉ dựa vào index tìm kiếm, web crawler, spider bot để thu thập dữ liệu mà còn sử dụng các kỹ thuật phân tích truy vấn phức tạp để đảm bảo độ chính xác tìm kiếmđộ tin cậy tìm kiếm cao nhất.

1.2. Vai Trò của Đối Sánh Mẫu Trong Các Công Cụ Tìm Kiếm

Đối sánh mẫu là nền tảng của nhiều thuật toán tìm kiếm, cho phép xác định sự tương đồng giữa truy vấn tìm kiếm và nội dung của các trang web. Từ các thuật toán cơ bản như Brute Force đến các phương pháp nâng cao như Knuth-Morris-Pratt và Boyer-Moore, đối sánh mẫu đóng vai trò quan trọng trong việc lọc và xếp hạng tìm kiếm. Theo nghiên cứu của Nguyễn Vinh Quy trong luận văn thạc sĩ tại Đại học Bách Khoa Hà Nội (2013), việc sử dụng các thuật toán tối ưu để tìm kiếm dữ liệu giúp cho máy tìm kiếm hoạt động hiệu quả. Dữ liệu trong máy tính được lưu trữ dưới rất nhiều dạng khác nhau, nhưng phổ biến nhất vẫn là dạng chuỗi. Một phép toán cơ bản trên chuỗi là đối sánh mẫu (pattern matching), bài toán yêu cầu ta tìm ra một hoặc nhiều vị trí xuất hiện của mẫu trên một văn bản. Các giai đoạn phát triển chính bao gồm sự ra đời của các thư mục web thủ công, sự xuất hiện của các crawler-based search engine, và sự bùng nổ của tìm kiếm ngữ nghĩa nhờ xử lý ngôn ngữ tự nhiên (NLP).

II. Giải Thuật Brute Force Cách Đối Sánh Mẫu Đơn Giản Nhất

Brute Force là một trong những thuật toán đối sánh mẫu đơn giản nhất. Thuật toán Brute Force thử kiểm tra tất cả các vị trí trên văn bản. Sau mỗi lần thử, mẫu được dịch sang bên phải một ký tự cho đến khi kiểm tra hết văn bản. Tuy đơn giản, nó không hiệu quả đối với kho dữ liệu lớn do độ phức tạp thời gian cao. Brute Force là thuật toán đối sánh mẫu cơ bản nhất, duyệt qua tất cả các vị trí có thể trong văn bản để tìm kiếm sự xuất hiện của mẫu. Mặc dù dễ hiểu và triển khai, Brute Force thường chậm chạp và không phù hợp cho các ứng dụng yêu cầu hiệu suất cao. Điều này dẫn đến nhu cầu phát triển các thuật toán đối sánh mẫu hiệu quả hơn, như Knuth-Morris-Pratt (KMP) và Boyer-Moore.

2.1. Ưu Điểm và Nhược Điểm Của Thuật Toán Brute Force

Ưu điểm của Brute Force nằm ở sự đơn giản và dễ hiểu, không đòi hỏi nhiều kiến thức chuyên sâu về cấu trúc dữ liệu tìm kiếm hoặc giải thuật tìm kiếm. Tuy nhiên, nhược điểm lớn nhất là hiệu suất kém, đặc biệt khi kích thước của mẫu và văn bản tăng lên. Độ phức tạp thời gian của Brute Force là O(mn) trong trường hợp xấu nhất, với m là độ dài của mẫu và n là độ dài của văn bản. Điều này khiến nó trở nên không khả thi cho các ứng dụng tìm kiếm thực tế, nơi thời gian truy vấn là yếu tố quan trọng. Tuy nhiên, nhược điểm lớn nhất là hiệu suất kém, đặc biệt khi kích thước của mẫu và văn bản tăng lên. Độ phức tạp thời gian của Brute Force là O(mn) trong trường hợp xấu nhất, với m là độ dài của mẫu và n là độ dài của văn bản. Điều này khiến nó trở nên không khả thi cho các ứng dụng tìm kiếm thực tế, nơi thời gian truy vấn là yếu tố quan trọng.

2.2. Khi Nào Nên Sử Dụng Thuật Toán Brute Force

Brute Force có thể phù hợp trong các tình huống sau: Kích thước văn bản và mẫu nhỏ; Yêu cầu về hiệu suất không cao; Cần một giải pháp nhanh chóng và dễ triển khai. Trong các trường hợp này, sự đơn giản của Brute Force có thể bù đắp cho hiệu suất kém. Tuy nhiên, đối với các ứng dụng tìm kiếm quy mô lớn, các thuật toán đối sánh mẫu tiên tiến hơn là lựa chọn tốt hơn. Brute Force có thể phù hợp trong các tình huống sau: Kích thước văn bản và mẫu nhỏ; Yêu cầu về hiệu suất không cao; Cần một giải pháp nhanh chóng và dễ triển khai. Trong các trường hợp này, sự đơn giản của Brute Force có thể bù đắp cho hiệu suất kém. Tuy nhiên, đối với các ứng dụng tìm kiếm quy mô lớn, các thuật toán đối sánh mẫu tiên tiến hơn là lựa chọn tốt hơn.

III. Knuth Morris Pratt Thuật Toán Đối Sánh Mẫu Tối Ưu Hóa

Thuật toán Knuth-Morris-Pratt (KMP) là một cải tiến đáng kể so với Brute Force, tận dụng thông tin từ các lần so sánh trước để tránh so sánh lại các ký tự đã biết. Điều này giúp KMP đạt được độ phức tạp thời gian tuyến tính, O(n), trong hầu hết các trường hợp. KMP dựa trên việc xây dựng một bảng "next" (hoặc "prefix") để xác định vị trí bắt đầu so sánh mới sau khi gặp một sự không khớp. Bảng này cho phép thuật toán "nhảy" qua các ký tự đã biết, giảm đáng kể số lượng so sánh cần thiết.

3.1. Cách Thuật Toán Knuth Morris Pratt Hoạt Động

KMP hoạt động bằng cách xây dựng bảng "next" dựa trên mẫu, cho biết độ dài của tiền tố lớn nhất của mẫu cũng là hậu tố của một phần của mẫu. Khi gặp một sự không khớp, thuật toán sử dụng bảng này để dịch mẫu sao cho tiền tố lớn nhất khớp với hậu tố đã biết. Điều này cho phép thuật toán tránh so sánh lại các ký tự đã được so sánh trước đó. KMP hoạt động bằng cách xây dựng bảng "next" dựa trên mẫu, cho biết độ dài của tiền tố lớn nhất của mẫu cũng là hậu tố của một phần của mẫu. Khi gặp một sự không khớp, thuật toán sử dụng bảng này để dịch mẫu sao cho tiền tố lớn nhất khớp với hậu tố đã biết. Điều này cho phép thuật toán tránh so sánh lại các ký tự đã được so sánh trước đó.

3.2. So Sánh Knuth Morris Pratt Với Brute Force Ưu Thế

So với Brute Force, KMP vượt trội về hiệu suất, đặc biệt khi mẫu chứa các phần lặp lại. Brute Force có thể so sánh một ký tự nhiều lần, trong khi KMP chỉ so sánh mỗi ký tự một lần (trong hầu hết các trường hợp). Điều này giúp KMP đạt được độ phức tạp thời gian tuyến tính, O(n), trong khi Brute Force có độ phức tạp O(mn). So với Brute Force, KMP vượt trội về hiệu suất, đặc biệt khi mẫu chứa các phần lặp lại. Brute Force có thể so sánh một ký tự nhiều lần, trong khi KMP chỉ so sánh mỗi ký tự một lần (trong hầu hết các trường hợp). Điều này giúp KMP đạt được độ phức tạp thời gian tuyến tính, O(n), trong khi Brute Force có độ phức tạp O(mn).

IV. Boyer Moore Tìm Kiếm Từ Phải Sang Trái Để Tối Ưu

Thuật toán Boyer-Moore là một phương pháp đối sánh mẫu hiệu quả khác, sử dụng chiến lược tìm kiếm từ phải sang trái và hai heuristics (quy tắc kinh nghiệm) để tối ưu hóa hiệu suất. Các heuristics này cho phép thuật toán "nhảy" qua nhiều ký tự hơn so với KMP, đặc biệt khi các ký tự trong mẫu không xuất hiện thường xuyên trong văn bản. Boyer-Moore thường là lựa chọn tốt nhất cho các ứng dụng tìm kiếm thực tế, nơi hiệu suất là ưu tiên hàng đầu.

4.1. Hai Heuristics Chính Của Thuật Toán Boyer Moore

Boyer-Moore sử dụng hai heuristics chính: "bad character heuristic" (quy tắc ký tự xấu) và "good suffix heuristic" (quy tắc hậu tố tốt). "Bad character heuristic" cho phép thuật toán dịch mẫu dựa trên ký tự không khớp trong văn bản. "Good suffix heuristic" cho phép thuật toán dịch mẫu dựa trên hậu tố đã khớp. Kết hợp hai heuristics này giúp thuật toán "nhảy" qua nhiều ký tự hơn, giảm số lượng so sánh cần thiết. Boyer-Moore sử dụng hai heuristics chính: "bad character heuristic" (quy tắc ký tự xấu) và "good suffix heuristic" (quy tắc hậu tố tốt). "Bad character heuristic" cho phép thuật toán dịch mẫu dựa trên ký tự không khớp trong văn bản. "Good suffix heuristic" cho phép thuật toán dịch mẫu dựa trên hậu tố đã khớp. Kết hợp hai heuristics này giúp thuật toán "nhảy" qua nhiều ký tự hơn, giảm số lượng so sánh cần thiết.

4.2. So Sánh Boyer Moore Với KMP Khi Nào Chọn Boyer Moore

Boyer-Moore thường nhanh hơn KMP trong thực tế, đặc biệt khi kích thước của bảng chữ cái lớn và mẫu không chứa nhiều ký tự lặp lại. Tuy nhiên, việc triển khai Boyer-Moore phức tạp hơn KMP. Lựa chọn giữa hai thuật toán này phụ thuộc vào yêu cầu cụ thể của ứng dụng. Nếu hiệu suất là ưu tiên hàng đầu và có thể chấp nhận sự phức tạp trong triển khai, Boyer-Moore là lựa chọn tốt. Nếu sự đơn giản và dễ hiểu quan trọng hơn, KMP có thể phù hợp hơn. Boyer-Moore thường nhanh hơn KMP trong thực tế, đặc biệt khi kích thước của bảng chữ cái lớn và mẫu không chứa nhiều ký tự lặp lại. Tuy nhiên, việc triển khai Boyer-Moore phức tạp hơn KMP. Lựa chọn giữa hai thuật toán này phụ thuộc vào yêu cầu cụ thể của ứng dụng. Nếu hiệu suất là ưu tiên hàng đầu và có thể chấp nhận sự phức tạp trong triển khai, Boyer-Moore là lựa chọn tốt. Nếu sự đơn giản và dễ hiểu quan trọng hơn, KMP có thể phù hợp hơn.

V. Ứng Dụng Đối Sánh Mẫu Vào Thiết Kế Website Tra Cứu Thư Viện

Các thuật toán đối sánh mẫu có thể được ứng dụng vào thiết kế website cho hệ thống thông tin thư viện để xây dựng chức năng tra cứu sách hiệu quả. Việc khảo sát hệ thống, mô tả bài toán, yêu cầu và phạm vi giải quyết là bước quan trọng trước khi triển khai. Việc chọn thuật toán tối ưu (Brute Force, Knuth Morris Pratt, Boyer-Moore) phụ thuộc vào kích thước kho dữ liệu và yêu cầu về tốc độ truy vấn.

5.1. Thuật Toán Đối Sánh Mẫu Nào Phù Hợp Cho Tra Cứu Sách

Việc lựa chọn thuật toán đối sánh mẫu cho website thư viện phụ thuộc vào kích thước kho dữ liệu. Với kho dữ liệu nhỏ, Brute Force có thể đủ đáp ứng. Với kho dữ liệu lớn, Knuth Morris Pratt hoặc Boyer-Moore sẽ hiệu quả hơn. Thêm vào đó, cần xem xét yếu tố phần cứng và khả năng tối ưu hóa của hệ thống. Cần thử nghiệm và so sánh hiệu suất thực tế của các thuật toán để đưa ra lựa chọn phù hợp nhất.

5.2. Xây Dựng Cấu Trúc Dữ Liệu và Đặc Tả Chức Năng Tìm Kiếm

Để chức năng tìm kiếm hoạt động hiệu quả, cần xây dựng cấu trúc dữ liệu phù hợp (ví dụ: index tìm kiếm). Bên cạnh đó, cần đặc tả rõ các chức năng của mục tìm kiếm, bao gồm: xử lý truy vấn tìm kiếm, đối sánh mẫu, xếp hạng kết quả và hiển thị kết quả tìm kiếm cho người dùng. Cần đảm bảo chức năng tìm kiếm dễ sử dụng và đáp ứng được nhu cầu đa dạng của người dùng.

VI. Tương Lai Của Công Cụ Tìm Kiếm Học Sâu Xử Lý Ngôn Ngữ

Tương lai của công cụ tìm kiếm hứa hẹn sự phát triển mạnh mẽ của máy học trong tìm kiếmhọc sâu trong tìm kiếm. Các thuật toán BERT, RankBrain, Hummingbird sẽ ngày càng đóng vai trò quan trọng trong việc cải thiện độ chính xácđộ tin cậy của kết quả tìm kiếm. Xử lý ngôn ngữ tự nhiên (NLP) sẽ cho phép công cụ tìm kiếm hiểu rõ hơn ý định của người dùng, từ đó cung cấp kết quả tìm kiếm phù hợp hơn.

6.1. Tìm Kiếm Ngữ Nghĩa Hướng Đi Mới Của Công Cụ Tìm Kiếm

Tìm kiếm ngữ nghĩa tập trung vào việc hiểu ý nghĩa thực sự của truy vấn tìm kiếm, thay vì chỉ đơn thuần đối sánh mẫu văn bản. Điều này đòi hỏi sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) phức tạp, cho phép hệ thống phân tích cú pháp, ngữ nghĩa và ngữ cảnh của truy vấn. Tìm kiếm ngữ nghĩa hứa hẹn mang lại kết quả tìm kiếm chính xác và phù hợp hơn, đáp ứng tốt hơn nhu cầu của người dùng. Tìm kiếm ngữ nghĩa tập trung vào việc hiểu ý nghĩa thực sự của truy vấn tìm kiếm, thay vì chỉ đơn thuần đối sánh mẫu văn bản. Điều này đòi hỏi sử dụng các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) phức tạp, cho phép hệ thống phân tích cú pháp, ngữ nghĩa và ngữ cảnh của truy vấn. Tìm kiếm ngữ nghĩa hứa hẹn mang lại kết quả tìm kiếm chính xác và phù hợp hơn, đáp ứng tốt hơn nhu cầu của người dùng.

6.2. Ảnh Hưởng Của Machine Learning Deep Learning Đến Tìm Kiếm

Máy họchọc sâu đang cách mạng hóa lĩnh vực tìm kiếm. Các mô hình máy học cho phép hệ thống tự động học hỏi và cải thiện hiệu suất dựa trên dữ liệu. Các thuật toán BERT, RankBrainHummingbird là những ví dụ điển hình về ứng dụng thành công của máy họchọc sâu trong công cụ tìm kiếm, giúp cải thiện xếp hạng tìm kiếm và cung cấp kết quả tìm kiếm phù hợp hơn. Máy họchọc sâu đang cách mạng hóa lĩnh vực tìm kiếm. Các mô hình máy học cho phép hệ thống tự động học hỏi và cải thiện hiệu suất dựa trên dữ liệu. Các thuật toán BERT, RankBrainHummingbird là những ví dụ điển hình về ứng dụng thành công của máy họchọc sâu trong công cụ tìm kiếm, giúp cải thiện xếp hạng tìm kiếm và cung cấp kết quả tìm kiếm phù hợp hơn.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI từ nội dung tài liệu gốc; tài liệu do người dùng đóng góp và được kiểm duyệt trước khi xuất bản. Báo lỗi nội dung.

20/09/2025
Nghiên ứu searh engine và một số thuật toán đối sánh mẫu ho hệ thống tìm kiếm thông tin trên mạng

Trích đoạn nội dung tài liệu

Chương 1 TỔNG QUAN VỀ SEARCH ENGINE 1.1 Giới thiệu chung Máy tìm kiếm Search Engine nguyên thủy là một phần mềm nhằm tìm ra các trang trên mạng Internet có nội dung theo yêu cầu người dùng dựa vào các thông tin người sử dụng cung cấp qua từ khóa tìm kiếm. Máy tìm kiếm sẽ truy tìm trong cơ sở dữ liệu của nó và trả về danh mục các trang Web có chứa từ khóa mà người sử dụng đưa vào ban đầu. Thuật ngữ “Search Engine” được dùng chung để chỉ 2 hệ thống tìm kiếm: Một do các chương trình máy tính tự động tạo ra (Crawler-Based Search Engines) và dạng thư mục Internet do con người quản lý (Human-Powered Directories). Hai hệ thống tìm kiếm này tìm và lập danh mục website theo 2 cách khác nhau.

Crawler-Based Search Engines: Các máy tìm kiếm loại này chúng sử dụng các chương trình máy tính, được gọi là Robots, Spiders, hay Crawlers để lần tìm các trang trên mạng, rồi tự động phân tích các trang lấy về và đưa vào cơ sở dữ liệu của nó. Khi có một yêu cầu tìm kiếm, các Search Engine đối chiếu từ khóa cần tìm vào trong bảng chỉ mục và trả về các thông tin lưu trữ tương ứng. Các cỗ máy tìm kiếm loại này có cơ chế cập nhật nội dung của web định kỳ để phát hiện sự thay đổi (nếu có) của các trang web. 11 Human-Powered Directories: Các thư mục Internet hoàn toàn phụ thuộc vào sự quản lý của con người.

Nếu người sử dụng muốn các Search Engine tìm thấy trang web của mình thì họ phải đăng ký vào thư mục bằng cách gửi bản đăng ký đến ban biên tập của Search Engine. Ngày nay hầu hết các hệ thống tìm kiếm đều là sự tổng hợp của hệ thống tìm kiếm tự động và hệ thống tìm theo thư mục do người dùng quản lý. Ví dụ Yahoo có Yahoo Directory, Google có Google Directory.2 Phân loại Xét theo phương pháp tìm kiếm thì các Search Engine (SE) được chia làm hai loại chính: Tìm kiếm thông thường và siêu tìm kiếm.1 Máy tìm kiếm thông thường Các máy tìm kiếm thông thường thực hiện công việc tìm kiếm theo qui trình thu thập tài liệu, phân loại và tạo chỉ mục. Chúng gồm hai loại Search Engine sử dụng thư mục chủ đề và Search Engine tạo chỉ mục tự động.

Các Search Engine sử dụng thư mục chủ đề phân lớp sẵn các trang trên Internet vào các thư mục chủ đề và theo các cấp chi tiết hơn của chủ đề. Người dùng tìm kiếm thông tin bằng cách đi lần lượt từ chủ đề rộng rồi đến chủ đề hẹp hơn cho đến khi tìm ra các trang Web mà mình muốn. Kiểu tìm kiếm này có ưu điểm là các chủ đề chính xác hơn và cơ sở dữ liệu nhỏ hơn cơ sở dữ liệu của các Search Engine sử dụng công nghệ phân loại tự động. Nhược điểm của các Search Engine loại này là các thư mục chủ đề thường hạn chế không thể bao gồm hết mọi chủ đề mà người sử dụng muốn tìm.

Hơn nữa, sự phân loại mang tính chủ quan của người phân loại. Các Search Engine phân loại và tạo chỉ mục tự động là các Search Engine thuộc kiểu Crawler-Based Search Engines.2 Máy siêu tìm kiếm – Meta Search Engine Meta Search Engine là loại máy truy tìm ảo, nó hoạt động dựa trên sự tồn tại của các Search Engine sẵn có. Các Meta Search Engine không có cơ sở dữ liệu của riêng mình chúng sử dụng cơ sở dữ liệu của các Search Engine khác. Khi có yêu 12 cầu tìm kiếm máy siêu tìm kiếm sẽ gửi từ khóa đến các Search Engine khác một cách đồng loạt và nhận về tất cả các kết quả tìm được.

Nhiệm vụ còn lại của máy siêu tìm kiếm là phân tích và phân dạng lại các kết quả tìm được. Ưu điểm của loại máy này là nó sử dụng cơ sở dữ liệu của các Search Engine khác nên tìm được nhiều kết quả hơn. Nhược điểm là nó phải phụ thuộc vào cơ sở dữ liệu của các Search Engine khác. Điển hình của loại này là Metacrawler địa chỉ http://www.

Ngoài ra còn có một số website khác thuộc loại này như http://www.com, http://www.3 Mô hình của seach engine 1.1 Bộ tìm duyệt Crawler Bộ tìm duyệt Crawler thu thập các trang trên Internet rồi chuyển cho bộ đánh chỉ mục Indexer. Crawler xuất phát từ tập các URL ban đầu S0. Đầu tiên nó sắp xếp các phần tử trong tập S0 vào một hàng đợi, sau đó lấy dần các URL theo thứ tự và tải về các trang tương ứng, Crawler trích tất cả các URL có trong các trang vừa tải về rồi lại đưa vào hàng đợi. Quá trình trên tiếp tục cho đến khi Crawler quyết định dừng lại.

Do số lượng các trang tải về rất lớn và tốc độ thay đổi nhanh chóng của Web nên xuất hiện những vấn đề cần giải quyết: - Lựa chọn các trang để tải về: Trong hầu hết các trường hợp, Crawler không thể tải tất cả các trang trên Web, kể cả những cỗ máy tìm kiếm hoàn thiện nhất. Vì vậy, việc lựa chọn kỹ các trang trước khi tải về là rất cần thiết. Thứ tự sắp xếp các URL của các trang trong hàng đợi và việc lấy các trang từ hàng đợi ra tuân theo thứ tự thời gian. - Cách cập nhật các trang: Mỗi lần duyệt Crawler tải về số lượng lớn các trang Web, và sau một thời gian nó phải thực hiện ghé thăm lại các trang này cập nhật sự thay đổi.

Crawler phải xem xét trang nào nên ghé thăm lại trang nào không. Những trang nào thường xuyên thay đổi hơn thì ghé thăm lại và cập nhật nhiều hơn những trang ít thay đổi. 13 - Song song hóa quá trình dò tìm trang web: Vì kích thước khổng lồ của Web nên các Crawler luôn luôn hoạt động dựa trên nhiều cỗ máy và đồng thời tải về các trang. Việc này rất cần thiết để có thể tải về số lượng lớn các trang trong một khoảng thời gian chấp nhận được.

Các Crawlers song song phải được bố trí một cách hợp lý sao cho một Crawler không ghé thăm các trang mà một Crawler khác đã thăm.1 Page selection (lựa chọn các trang) Bộ tìm duyệt Crawler tải về các trang theo thứ tự trang nào “quan trọng” sẽ tải về trước. Như vậy ta phải tìm hiểu cách mà Crawler xác định mức độ quan trọng của các trang. Cho một trang web P, ta định nghĩa mức độ “quan trọng” của trang P theo các cách sau: - Interest Driven: Là phương pháp xác định mức độ quan trọng của các trang dựa vào mức độ quan tâm của người sử dụng với các trang đó. Các trang phù hợp với yêu cầu của người sử dụng là những trang quan trọng.

- Popularity Driven: Xác định mức độ quan trọng của một trang dựa vào mức độ phổ biến của trang. Một trong các cách để định nghĩa độ phổ biến của trang là sử dụng bộ đếm số liên kết đến trang đó (gọi là số back link). - Location Driven: Xác định mức độ quan trọng của trang P dựa vào địa chỉ của nó. Mô hình Crawler Mong muốn của các máy tìm kiếm là thiết kế bộ Crawler có khả năng ghé thăm các trang theo thứ tự các trang có mức độ quan trọng cao hơn thăm trước các trang có hạng thấp hơn thăm sau.

Bộ Crawler đánh giá các trang dựa vào giá trị phân hạng (ví dụ IB(P)). Từ sự đánh giá này Crawler đoán được các trang có mức độ quan trọng cao hơn để lấy về trong lần kế tiếp. Để đánh giá chất lượng của Crawler người ta có thể định nghĩa độ đo chất lượng quality metric của nó bằng một trong hai cách sau: - Crawl & stop: Với mô hình này, bộ Crawler C xuất phát từ trang khởi đầu P0 và dừng lại sau khi ghé thăm k trang, k là số lượng trang mà Crawler có thể tải về trong 14 một lần duyệt. Một Crawler tốt sẽ ghé thăm các trang theo thứ tự R1,…Rk trong đó R1 là trang có thứ hạng cao nhất, lần lượt đến R2,….

Gọi R 1,…, Rk là các trang hot. Trong số k trang được Crawler ghé thăm chỉ có m trang (m≤k) sẽ được sắp thứ hạng cao hơn hoặc bằng trang Rk. Sự ước lượng này thực hiện được khi chúng ta đã tải tất cả các trang và có được bức tranh toàn cảnh của Web. Gọi hiệu suất của Crawler C là PCS(C) = (m.

Hiệu suất của một Crawler lý tưởng là 100%. Một Crawler bằng cách nào đó có khả năng ghé thăm các trang web một cách hoàn toàn ngẫu nhiên và có thể thăm lại các trang. Bộ Crawler đó có hiệu suất là (k.1000)/T – trong đó T là tổng số trang trên Web. Do vậy con số mong muốn các trang được duyệt cho đến khi Crawler dừng lại là k /T.

2 - Crawl & Stop with Threshold: Vẫn giả sử rằng bộ Crawler ghé thăm k trang. Tuy nhiên lúc này đích quan trọng G đã được cho sẵn, và bất cứ trang nào có độ quan trọng lớn hơn G thì đều được coi là trang hot. Và giả sử rằng số trang hot là h. Lại giả sử rằng chúng ta đã biết hạng của tất cả các trang nên biết được giá trị h.

Hiệu suất của bộ Crawler PST(C) là tỷ lệ phần trăm của h. Nếu k < h thì một Crawler lý tưởng sẽ có PST(C) = (k. Nếu k ≥ h thì hiệu suất của Crawler là 100%. Số trang hot mà một Crawler mong muốn ghé thăm một cách ngẫu nhiên là (h/T).k do vậy hiệu suất của nó là (k.

Chỉ có những Crawler ngẫu nhiên ghé thăm được toàn bộ T trang thì mới có hiệu suất là 100%. - Độ đo thứ hạng (Ordering Metrics): Một Crawler lưu giữ những URLs mà nó đã ghé thăm trong quá trình dò tìm vào một hàng đợi. Sau đó nó lựa chọn một URL trong hàng đợi cho lần ghé thăm tiếp theo. Ở mỗi lần lựa chọn thì Crawler chọn URL u có giá trị Ordering cao nhất để ghé thăm.

Độ đo thứ hạng (Ordering Metric) được thiết lập dựa vào một trong các độ đo khác. Ví dụ nếu ta đang thực hiện tìm những trang có giá trị IB(P) cao, thì ta sẽ lấy giá trị IB(P) làm độ đo thứ hạng, trong đó P là trang mà được trang u trỏ tới. 15 Đơn vị đo theo vị trí (local metric) được sử dụng để xếp thứ hạng trực tiếp, vì một URL của một trang P cho biết giá trị IL(P). Tuy nhiên với độ đo tương tự, thì việc đưa ra một giá trị phân hạng Ordering Metric khóa hơn vì chúng ta chưa duyệt trang P.

Chúng ta có thể sử dụng phần văn bản có trong URL của trang P để dự đoán nội dung của P. Do vậy một độ đo thứ hạng có thể là IS(A) (đối với một số truy vấn Q).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ