Luận văn Thạc sĩ: Xây dựng Search Engine hiệu quả - Nghiên cứu & Phát triển

Luận văn xây dựng search engine: Tìm hiểu quy trình, công nghệ và các bước để xây dựng một công cụ tìm kiếm hiệu quả. Tối ưu hóa SEO cho website của bạn.

Trường đại học

Đại học Quốc gia Hà Nội

Chuyên ngành

Xây dựng Search Engine

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2009

102
1
0

Phí lưu trữ

35 Point

Mục lục chi tiết

MỤC LỤC

MỞ ĐẦU

GIỚI THIỆU LUẬN VÂN

LÝ DO LỰA CHỌN ĐỀ

BỐ CỤC LUẬN VĂN

1. CHƯƠNG 1: LÝ THUYẾT CHUNG VỀ SEARCH ENGINE

1.1. TỔNG QUAN VỀ MẠNG INTERNET VÀ SEARCH ENGINE

1.2. CÁC MÔ HÌNH KIẾN TRÚC CỦA SEARCH ENGINE

1.2.1. Mô hình kiến trúc chung

1.2.2. Mô hình agent

1.3. INFORMATION RETRIEVAL VÀ SEARCH ENGINE

1.3.1. Định nghĩa và khái niệm

1.3.2. Kiến trúc cơ bản của một hệ IR

1.3.3. Các độ đo (metrics)

1.3.4. Chỉ mục ngược (inverted index) trong tìm kiếm

1.4. Các mô hình IR trong tìm kiếm và đánh giá kết quả

1.5. Stemming

1.6. Các chiến lược lựa chọn trang Web trong quá trình crawl

1.6.1. Giới thiệu

1.6.2. Khó khăn và thách thức

1.7. Chỉ mục ngược trong Search engine. Khó khăn thách thức

1.8. XẾP HẠNG KẾT QUẢ TÌM KIẾM

1.8.1. Một số kỹ thuật dựa trên liên kết

2. CHƯƠNG 2: KHẢO SÁT MỘT SỐ SEARCH ENGINE

2.1. SEARCH ENGINE MÃ MGLUCENE

2.1.1. Giới thiệu Lucene

2.1.2. Các phiên bản ngôn ngữ hỗ trợ cho Lucene

2.1.3. Vòng đời kiến trúc phần mềm Lucene

2.1.4. Sơ đồ phụ thuộc của Lucene

2.2. TIẾNG VIỆT TRONG XÂY DỰNG CÔNG CỤ TÌM KIẾM

2.2.1. Đặc điểm tiếng Việt và âm vị

2.2.2. Đặc trưng về từ pháp và hình thái

2.2.3. Đặc trưng về ngữ pháp

2.2.4. Sự phức tạp trong mã hoá tiếng Việt

2.3. KHẢO SÁT CÁC CÔNG CỤ TÌM KIẾM TIẾNG VIỆT HIỆN NAY

2.3.1. Search Engine Google

2.3.2. Search Engine Xalo (are.vn)

2.3.3. Search Engine Baamboo (www Bacmboo.vn)

2.3.4. Search Engine Sachay(www.

2.4. ĐÁNH GIÁ VỀ CÁC CÔNG CỤ TÌM KIẾM TIẾNG VIỆT

3. CHƯƠNG 3: XÂY DỰNG CÔNG CỤ MP3 SEARCH

3.1. CRAWLER CHO TÌM KIẾM MP3

3.1.1. Các vấn đề đặt ra với crawler

3.1.2. Các chiến lược lựa chọn trang Mp3 trong quá trình crawl

3.1.3. Tăng tốc độ crawl và crawl song song

3.1.4. Tải tươi trang Mp3 (pages refresh).

3.1.5. Khó khăn khi tải tươi trang Web.

3.1.6. Đánh chỉ mục cho tìm kiếm MP3

3.1.7. Chỉ mục trong từ điển âm nhạc

3.1.8. Chỉ mục ngược trong từ điển âm nhạc. Khó khăn thách

3.2. Phân tích truy vấn

3.3. Xếp hạng cho MP3

3.4. Giao diện của MP

3.5. Đánh giá phần mềm tìm kiếm MP3

PHẦN KẾT LUẬN

NHỮNG ĐÓNG GÓP CỦA LUẬN VĂN

HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI

TÀI LIỆU THAM KHẢO

Tiếng Anh

KIẾN TRÚC GOOGLE

CÁC KHÁI NIỆM VỀ SEARCH ENGINE

PHỤ LỤC C. THUẬT TOÁN VUN ĐỐNG HEAPSORT CHÓ TÌM KIẾM

BẰNG MÃ HOÁ CHỮ CÁI TIẾNG VIỆT

DANH MỤC HÌNH VẼ

DANH MỤC BẢNG BIỂU

DANH MỤC CÁC TỪ VIẾT TẮT

Tóm tắt

I. Hướng dẫn cấu trúc luận văn xây dựng search engine tối ưu

Một luận văn về xây dựng search engine không chỉ là một bài tập lập trình, mà là một công trình nghiên cứu khoa học đòi hỏi sự hiểu biết sâu sắc về lý thuyết và kỹ thuật. Cấu trúc của một công cụ tìm kiếm hiện đại thường được xem như một dạng của hệ thống Information Retrieval (IR), hay hệ thống truy xuất thông tin. Luận văn của Nguyễn Hoàng Trung (2009) đã chỉ rõ, mục đích chính là mô tả các thành phần chung và xây dựng một ứng dụng cụ thể, giải quyết các vấn đề tìm kiếm trong tiếng Việt. Một search engine hoàn chỉnh bao gồm ba giai đoạn cốt lõi: thu thập dữ liệu (Crawling), tổ chức và lưu trữ thông tin (Indexing & Repository), và cuối cùng là khai thác thông tin thông qua phân tích truy vấn và xếp hạng kết quả (Searching & Ranking). Mỗi giai đoạn này đều ẩn chứa những thách thức và đòi hỏi các giải pháp kỹ thuật riêng biệt. Việc hiểu rõ cấu trúc này là nền tảng để triển khai một đề tài thành công, từ việc xác định mục tiêu, lựa chọn công nghệ cho đến việc đánh giá hiệu quả của hệ thống. Các thành phần này phải phối hợp nhịp nhàng để đảm bảo tối ưu hóa hiệu năng và trả về kết quả chính xác nhất cho người dùng.

1.1. Khái niệm cốt lõi Search Engine và Information Retrieval

Search Engine được định nghĩa là một chương trình tìm kiếm tài liệu thỏa mãn một truy vấn (query) nhất định. Về bản chất, đây là một ứng dụng chuyên biệt của lĩnh vực Information Retrieval (IR) - một ngành khoa học nghiên cứu việc 'thu thập thông tin', 'lưu trữ thông tin' và 'khai thác thông tin'. Khác với Data Retrieval (DR) chỉ tìm kiếm dữ liệu thô, một hệ thống IR phải xử lý và hiểu được ngữ nghĩa để trả về các tài liệu liên quan đến một chủ đề. Luận văn gốc nhấn mạnh rằng việc xây dựng một Search Engine đòi hỏi kiến thức sâu rộng từ mạng máy tính, cấu trúc dữ liệu, cơ sở dữ liệu, cho đến xử lý ngôn ngữ tự nhiên.

1.2. Ba trụ cột chính Crawling Indexing và Ranking

Kiến trúc của một search engine được xây dựng trên ba trụ cột. Đầu tiên là Web Crawler (hay Spider), có nhiệm vụ thu thập dữ liệu từ Internet. Tiếp theo là Indexer, chịu trách nhiệm chỉ mục hóa dữ liệu để tạo ra một cấu trúc tra cứu hiệu quả, điển hình là Inverted Index. Cuối cùng là Query Engine, nơi phân tích truy vấn của người dùng và áp dụng các thuật toán tìm kiếm để xếp hạng kết quả. Giai đoạn xếp hạng là bí mật công nghệ của nhiều công ty, quyết định sự thành công của công cụ tìm kiếm bằng cách đưa ra những kết quả liên quan nhất lên đầu.

II. Top 3 thách thức lớn khi xây dựng một search engine mới

Việc xây dựng một công cụ tìm kiếm từ con số không phải đối mặt với nhiều thách thức kỹ thuật và lý thuyết. Thách thức lớn nhất đến từ quy mô khổng lồ và sự thay đổi liên tục của Internet. Một Web Crawler phải được thiết kế để hoạt động hiệu quả trên hàng tỷ trang web mà không gây quá tải cho các máy chủ, đồng thời phải có chiến lược cập nhật thông minh. Thách thức thứ hai là xử lý sự phức tạp của ngôn ngữ tự nhiên. Như được đề cập trong tài liệu gốc, đặc thù của tiếng Việt (từ đơn, từ ghép, không có dấu phân cách từ rõ ràng) đòi hỏi các kỹ thuật xử lý ngôn ngữ tự nhiên (NLP) chuyên biệt để tách từ và hiểu đúng truy vấn. Cuối cùng, tối ưu hóa hiệu năng là một bài toán nan giải. Hệ thống phải đảm bảo thời gian phản hồi truy vấn chỉ trong vài mili giây trên một cơ sở dữ liệu chỉ mục khổng lồ. Điều này đòi hỏi các giải pháp về tính toán song song, lưu trữ phân tán và các thuật toán tìm kiếm hiệu quả.

2.1. Vấn đề về quy mô Thu thập và lưu trữ dữ liệu Web

Internet chứa hàng nghìn terabytes dữ liệu và con số này tăng theo cấp số nhân. Một Web Crawler phải có chiến lược lựa chọn trang để crawl một cách thông minh, ưu tiên những trang quan trọng và cập nhật thường xuyên. Hơn nữa, Page Repository (kho lưu trữ trang) phải có khả năng mở rộng (scalability) để chứa toàn bộ dữ liệu. Luận văn đã khảo sát kiến trúc của WebBase, một hệ thống lưu trữ phân tán, để giải quyết bài toán này. Việc quản lý một kho dữ liệu lớn như vậy đòi hỏi các kỹ thuật phức tạp để chống trùng lặp, phát hiện trang lỗi thời và cập nhật dữ liệu hiệu quả.

2.2. Rào cản ngôn ngữ Xử lý tìm kiếm cho tiếng Việt

Tìm kiếm tiếng Việt phức tạp hơn tiếng Anh do không có hiện tượng biến đổi từ (stemming) nhưng lại có cấu trúc từ ghép đa dạng. Việc tách từ (tokenization) không thể chỉ dựa vào khoảng trắng. Ví dụ, 'đại học công nghệ' là một cụm từ có nghĩa, không phải ba từ riêng lẻ. Tài liệu gốc (Chương 2) đã khảo sát các công cụ như Google, Xalo, Socbay để chỉ ra rằng việc 'hiểu' tiếng Việt là yếu tố then chốt tạo nên sự khác biệt. Một hệ thống NLP tốt là điều kiện tiên quyết để phân tích truy vấn và đánh giá độ liên quan một cách chính xác.

III. Phương pháp thu thập và chỉ mục hóa dữ liệu luận văn

Để một search engine có thể hoạt động, bước đầu tiên và cơ bản nhất là phải có dữ liệu. Quá trình này bắt đầu với Web Crawler, một chương trình tự động khám phá và tải các trang web về hệ thống. Hiệu quả của crawler phụ thuộc vào chiến lược lựa chọn trang để ưu tiên các nội dung quan trọng. Sau khi dữ liệu được thu thập, chúng cần được xử lý và tổ chức lại để phục vụ việc truy vấn nhanh chóng. Đây là nhiệm vụ của quá trình chỉ mục hóa dữ liệu (indexing). Kỹ thuật nền tảng và phổ biến nhất được sử dụng là xây dựng một chỉ mục ngược (Inverted Index). Thay vì lưu trữ từ mỗi trang có những từ nào, chỉ mục ngược lưu trữ với mỗi từ, nó xuất hiện trong những trang nào. Cấu trúc này, như được mô tả trong Hình 7 của tài liệu gốc, cho phép hệ thống nhanh chóng tìm ra danh sách các tài liệu chứa một từ khóa nhất định, là tiền đề cho mọi thuật toán tìm kiếm và xếp hạng sau này.

3.1. Kỹ thuật xây dựng Web Crawler thu thập dữ liệu tự động

Một Web Crawler (hay spider) khởi đầu với một danh sách URL gốc. Nó tải các trang này về, phân tích nội dung để trích xuất các liên kết mới và thêm chúng vào hàng đợi để tiếp tục quá trình. Luận văn đã phân tích các chiến lược crawl khác nhau như crawl theo chiều rộng (breath-first) và chiều sâu (depth-first). Crawl theo chiều rộng thường được ưu tiên để tránh đi quá sâu vào một website duy nhất, giúp khám phá đa dạng các nguồn thông tin hơn. Để tăng tốc, các hệ thống lớn thường triển khai crawl song song, đòi hỏi cơ chế phân chia và điều phối công việc giữa nhiều tiến trình một cách hiệu quả để tránh trùng lặp.

3.2. Cấu trúc Inverted Index trong chỉ mục hóa dữ liệu

Inverted Index là xương sống của hầu hết các hệ thống trích xuất thông tin. Nó là một cấu trúc dữ liệu ánh xạ từ các thuật ngữ (terms) đến danh sách các tài liệu chứa chúng. Mỗi mục trong danh sách này (gọi là posting list) không chỉ chứa ID tài liệu mà còn có thể lưu thêm thông tin quan trọng như tần suất xuất hiện của từ (term frequency) và vị trí của từ trong tài liệu. Tài liệu gốc (Bảng 3, 4, 5) minh họa rất rõ quy trình xây dựng Inverted Index: từ việc tách term, sắp xếp, cho đến khi hình thành file từ điển (dictionary) và file postings, giúp tối ưu hóa hiệu năng truy vấn.

IV. Bí quyết xếp hạng kết quả Từ TF IDF đến PageRank

Sau khi tìm được danh sách các tài liệu chứa từ khóa, làm thế nào để quyết định tài liệu nào là quan trọng và liên quan nhất? Đây là bài toán cốt lõi của việc xếp hạng kết quả. Các công cụ tìm kiếm hiện đại kết hợp nhiều yếu tố, nhưng có hai thuật toán tìm kiếm nền tảng đã tạo nên cuộc cách mạng trong lĩnh vực này. Đầu tiên là TF-IDF, một phương pháp thống kê để đánh giá độ liên quan (relevancy) của một tài liệu với một truy vấn dựa trên tần suất xuất hiện của từ. Thứ hai là thuật toán PageRank, do Google tiên phong, đánh giá 'uy tín' hoặc 'tầm quan trọng' của một trang web dựa trên cấu trúc liên kết của toàn bộ Internet. Sự kết hợp giữa điểm liên quan nội dung (TF-IDF) và điểm uy tín liên kết (PageRank) tạo ra một cơ chế xếp hạng mạnh mẽ, giúp đưa những kết quả vừa liên quan vừa đáng tin cậy lên hàng đầu.

4.1. Ứng dụng mô hình Vector Space Model và trọng số TF IDF

Mô hình không gian vector (Vector Space Model - VSM) biểu diễn mỗi tài liệu và truy vấn như một vector trong không gian nhiều chiều, với mỗi chiều tương ứng với một thuật ngữ. Trọng số của mỗi thành phần trong vector thường được tính bằng TF-IDF. TF (Term Frequency) đo tần suất một từ xuất hiện trong tài liệu – từ xuất hiện nhiều thường quan trọng hơn. IDF (Inverse Document Frequency) đo độ hiếm của từ đó trong toàn bộ tập tài liệu – từ càng hiếm thì càng có giá trị phân loại cao. Tích của TF và IDF cho ra một trọng số phản ánh chính xác tầm quan trọng của một từ đối với một tài liệu cụ thể.

4.2. Tìm hiểu thuật toán PageRank và phân tích liên kết

Khác với TF-IDF, thuật toán PageRank không nhìn vào nội dung mà nhìn vào cấu trúc liên kết. Ý tưởng cốt lõi là một trang web được coi là quan trọng nếu nó được nhiều trang quan trọng khác liên kết đến. Đây là một định nghĩa đệ quy, tính toán 'uy tín' của mỗi trang dựa trên uy tín của các trang trỏ tới nó. Luận văn (mục 1.9.1) giải thích rằng PageRank mô phỏng hành vi của một 'người lướt web ngẫu nhiên', và hạng của một trang chính là xác suất người đó ghé thăm trang này. Thuật toán này giúp chống lại spam và ưu tiên các nguồn thông tin có thẩm quyền.

V. Case Study Xây dựng công cụ MP3 Search từ luận văn

Lý thuyết sẽ trở nên vô nghĩa nếu không được áp dụng vào thực tiễn. Chương 3 của luận văn gốc trình bày chi tiết quá trình xây dựng một ứng dụng cụ thể: công cụ tìm kiếm MP3. Dự án này là một minh họa xuất sắc cho việc áp dụng các khái niệm đã nghiên cứu, từ việc thiết kế một Web Crawler chuyên dụng cho dữ liệu âm nhạc, cho đến việc xây dựng một hệ thống chỉ mục hóa dữ liệuxếp hạng kết quả phù hợp với đặc thù của file MP3. Việc xây dựng một ứng dụng nhỏ giúp làm rõ những khó khăn và sự phức tạp của một hệ thống search engine quy mô lớn. Nó cho thấy cách các thành phần lý thuyết như Inverted Index và các thuật toán xếp hạng được triển khai trong một bối cảnh thực tế, xử lý các metadata (siêu dữ liệu) đặc trưng của file nhạc như tên bài hát, ca sĩ, album, thay vì chỉ phân tích văn bản thuần túy. Đây là một bước quan trọng để kiểm chứng tính đúng đắn của các giải pháp đã đề xuất.

5.1. Thiết kế Crawler và chỉ mục cho dữ liệu MP3 đặc thù

Việc thu thập dữ liệu MP3 có những thách thức riêng. Crawler không chỉ tải trang HTML mà cần phải xác định và tải về các file nhạc. Quá trình chỉ mục hóa cũng khác biệt. Thay vì phân tích toàn bộ văn bản, Indexer tập trung vào việc trích xuất và chỉ mục hóa dữ liệu từ các thẻ ID3 của file MP3, bao gồm các trường thông tin như tiêu đề, nghệ sĩ, album và thể loại. Một từ điển âm nhạc chuyên dụng cũng được xây dựng để hỗ trợ quá trình này, giúp hệ thống hiểu rõ hơn về các thực thể liên quan đến âm nhạc.

5.2. Tối ưu thuật toán xếp hạng cho kết quả tìm kiếm nhạc

Việc xếp hạng kết quả cho tìm kiếm MP3 cần một thuật toán tùy chỉnh. Mức độ liên quan không chỉ dựa vào sự xuất hiện của từ khóa mà còn có thể ưu tiên các yếu tố khác. Ví dụ, một truy vấn có tên ca sĩ nên ưu tiên kết quả có tên ca sĩ khớp chính xác trong trường 'Artist'. Hệ thống cũng có thể xem xét các yếu tố như chất lượng file nhạc, lượt nghe, hoặc độ mới của bài hát. Giao diện người dùng cũng được thiết kế để hiển thị các thông tin này một cách trực quan, giúp người dùng dễ dàng tìm thấy bài hát mình mong muốn.

VI. Kết luận và hướng phát triển cho đề tài search engine

Luận văn về xây dựng search engine là một đề tài mang tính tổng hợp cao, kết hợp giữa lý thuyết hàn lâm của Information Retrieval và kỹ thuật triển khai hệ thống phức tạp. Công trình nghiên cứu này không chỉ hệ thống hóa kiến thức về các thành phần cốt lõi của một công cụ tìm kiếm mà còn đi sâu vào các bài toán thực tiễn như xử lý tiếng Việt và tối ưu hóa hiệu năng. Thông qua việc xây dựng một ứng dụng cụ thể, đề tài đã chứng minh được tính khả thi của các giải pháp đề xuất. Tuy nhiên, lĩnh vực tìm kiếm thông tin luôn không ngừng phát triển. Các hướng nghiên cứu trong tương lai có thể tập trung vào việc ứng dụng học máy (Machine Learning) để cải thiện thuật toán xếp hạng, phát triển các mô hình ngôn ngữ lớn để hiểu sâu hơn ngữ nghĩa truy vấn, hoặc tối ưu hóa kiến trúc hệ thống cho dữ liệu lớn (Big Data) và xử lý thời gian thực.

6.1. Tổng kết những đóng góp chính của luận văn

Đóng góp quan trọng nhất của luận văn là đã trình bày một cách hệ thống và chi tiết về kiến trúc, các thuật toán tìm kiếm, và quy trình xây dựng một hệ thống truy vấn thông tin hoàn chỉnh. Luận văn đã thành công trong việc áp dụng lý thuyết vào thực tế thông qua ứng dụng MP3 Search, làm rõ các thách thức khi làm việc với dữ liệu đặc thù và ngôn ngữ tiếng Việt. Đây là một tài liệu tham khảo giá trị cho các sinh viên và nhà nghiên cứu muốn tìm hiểu và bắt đầu với lĩnh vực xây dựng công cụ tìm kiếm.

6.2. Hướng đi tương lai Machine Learning và tìm kiếm ngữ nghĩa

Tương lai của search engine nằm ở khả năng 'hiểu' được ý định người dùng thay vì chỉ khớp từ khóa. Các hướng phát triển tiềm năng bao gồm: tích hợp các mô hình học máy để cá nhân hóa kết quả tìm kiếm (Learning to Rank), sử dụng các mô hình nhúng từ (word embeddings) để thực hiện tìm kiếm ngữ nghĩa, và xây dựng các hệ thống hỏi đáp (Question Answering) có khả năng trả về câu trả lời trực tiếp thay vì một danh sách các liên kết. Việc tối ưu hóa cho tìm kiếm bằng giọng nói và hình ảnh cũng là những lĩnh vực đầy hứa 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. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

11/09/2025
Luận văn xây dựng search engine

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

chương 1, chúng tôi đã phân tích rất kỹ cáo thành phân và độ phức tạp trong việc xây đựng của mỗi thánh phân của công cụ Search nói chung rồi, nên khi áp dụng vào bài toáa này, chúng tôi không pặp nhiều khó khăn. Qua việc xây dựng một công cụ nhớ nảy, chủng tôi hiểu rồ hơn về sự phức tạp và khỏ khăn của công việc xây dựng Search Engine cho Web. LY THUYET CHUNG VE SEARCH ENGINE 1.1, TONG QUAN VE MANG INTERNET VA SEARCH ENGINE Khéng cé dinh nghia chinh xac nao vé théng tin. Khai mém théng tin gan lién với sự ra đời của máy tính và ngành công nghệ thông tin, Có thể hiểu théng tin IA “tin tức hap sự thật về một cái gì dé".

Théng tin mang dén cho con người sự cảm nhận về thể giới bên ngoài Tủy theo kiêu mẫu, nội dung, chất lượng, cảch thức lưu trừ, cách truyền. của thông tin má ta có thể chia ra nhiều loại thông tin khác nhau. Sự ra đời của mang Internet (mang của các mạng máy ti) đã kéo theo một loại thông tin đỏ là thông lin mang Théng tin trên mạng bao gồm rat nhiều kiểu, được lưu trữ ở khắp nơi trên thê giới. Dạng chỉnh của thông tin trên mạng chính là các trang tài liệu được viết bằng ngôn ngữ đứnh đầu siêu văn bản LIUML(iyper-fext Marlaup Language) mà ta quen gọi la trang Web (Web page).

Tap hep eac trang Web tao thanh Web. Sé hong trang Web hiện tại là cực kỳ lớn. Có thể đến hàng triệu ty pages, va do dé téng dung lượng, của tất cã các trang Web có thể đến hàng nghỉn terabytes. Nội dung các trang Wcb có thể nhiều hoặc ít tùy theo trang, số người biên tập, số người sử dựng, quản trị.

Vì thê việc kiếm soát chứng là không đơn giản. Giữa một khói lượng thông tin khống 16 như vậy, việc người dùng biết và chọn ra cho mình những thông tin cần thiết không hẻ đễ chút nào. Người dùng sẽ phải bắt đầu khai thác nguồn théng tin không lỗ này như thế nào? Thông thường người dùng sẽ sử dụng một công cụ cho phép truy cập các nguồn tài nguyên dé, gọi là trình duyét Internet (Internet browser). Trinh duyệt sẽ giao tiếp với các chương trình cung cắp thông tin dưới dang trang Web goi la Web server được chạy trên các máy tính lớn (server) của các nhà cung cấp thông tin.

Trình duyệt và Web server giao tiếp với nhau bằng giao (hic HTTP (Hyper-Text Transfer Protocol) 1a một giao thức nuyễn văn bản theo định dạng siêu van ban. Trong tình huống này người ding phải biết chính xác Web server nào có chứa thông tín mình cằn đến, hay nói cách khác là địa chỉ của trang Web mà người dùng muốn truy cập. Mỗi dia chi trang Web duge goi la mét URL (Uniform Rescourse Locator) URL. có cầu trúc hHpzảên máy chútên miền/đường dẫn cục bộ đến trang Web Một tập hợp các trang Web có chung tên miễn được gọi là một Website (ví dụ như Website của trường dại học Quốc gia Hà nội có tổn miễn là vma.

Người dùng viêng thắm xhiểu trang Web sẽ không thẻ nhớ © địa chỉ (thường là đải và khó nhớ). Hơn tiữa, sự ra đời của các trang Web mới là đáng kể, trong khi dó người dùng không biết 6 dén chủng nếu như không được chỉ dẫn. Trong trường hợp người dùng khong biét dia chỉ của trang Web có chứa thông tín mà họ cân, họ sẽ phối bắt đầu như thế nào? Hai câu trả lời la dank ba Web (Web directory) va. m6 to tim kiếm thông tin trên mạng (Scarch engine) Danh bạ Web lả một Web site chứa các liên kết đến rất nhiều trang Web khác nhau lrên thế giới, dược sắp xếp theo các chủ dễ.

Người đùng truy cập danh bạ Web va lin theo các chủ để, rẻ chủ để cơn,. họ sẽ có dược muột danh sách các trang Web về Tĩnh vực mã họ quan lâm. Một trong số các Website cùng cấp danh bạ Web tốt nhất hién nay la Yahoo (http:/4vww. Chang han ta o6 thé tim thay dia chi tang 'Web của hậu hết các trường đại học trên thể giới trong mục Education của Yahoe.

Search Engine không cung cấp danh sách cae trang Web nhu Web directory. Mỗi khi người đùng cân thông tin ma khéng biét cha chi trang Web, họ sẽ truy cập Search Engine ưa thích của họ bằng hình duyệt ( thâu Search Rngine cũng là một Web site), nói cho Search Engine biét ho cần thông tin gì bằng cách nhập vào các lừ khóa cho thông tia cần tìm Từ khóa ở đây la từ ngữ thông thường có liên quan đến thông tin cân tìm. Chẳng han muén tim thông tin vé Search Engine o6 thé str dung tir khóa “Search”, “Search engine”,. Search Engine sẽ tiến hành phân tích yêu cầu tìm kiếm đó, thực hiện tim theo sự hiểu biết của nò (fờm đrên cơ sở địt liệu về Web mà nó có dược) và trà lại cho người dùng danh sách các URL dẫn dến các trang Web má nó tim dược (dã có sự sắp xếp) và một phân nội dung dược trịch rút ra (exiractor) từ trang, Weh có chưa từ khóa dần tìm.

Đứng trên khía cạnh thi Soarch Engine clinh là một Search Engine trả lời câu hỏi QAM (Question Answer Machine) Ngày nay, khải niệm Search Engine đã trở nên khả phổ biến vả Search Hngine lả một trong số những công cụ (dịch vụ) được người dùng sử dụng nhiều nhất trên mang Internet. Google (hitp:/www.com) là môi trong số các Search Rngine cho kết quả tìm kiểm chính xác nhật hiện nay. CÁC MÔ HÌNH KIỀN TRÚC CỦA SEARCH ENGINE 1. Mô hình kiến trúc chung Hình sau đây đưa ra kiến trúc mức cao của một Search Engine, trong đó các thành phân của kiến trúc này đảm nhiệm các chức năng khá cụ thế Indexes Text Suructure Utility cà Usage feedhack Hinh 1.

M6 hinh kién trac chung của Search engine[14] Crauler là chương trình có nhiệm vụ khám phá và tải về các trang leb từ mang Internet, Ching dõi theo các trang Web giống như người dùng duyệt Web. Crawler xuất phát với tập các URI.s khởi đầu, sau khi tải các trang Web vẻ, Crawler tách cac URLs trong trang Web đó ra, chuyên cho Crawl Control (BG diéu khién crawl), B6 điều khiên sẽ quyết định liên kết nào sẽ được khám phá tiếp theo và trả lại cho crawler. (Một số chức năng của bộ điều khiển đôi khi được crawler tự thực hiện), Crawler cũng đồng thởi chuyên các trang Web đã khám phả được vào kho đữ liệu Heb (pages reposifory) và tiếp tục khám phả Web cho tới khi nao không còn gì để khám phá hoặc bị cạn tải nguyên hay được lệnh dừng,. Giải thuật co bản này có thể được sửa chữa nhằm đạt được hiệu quả tốt nhật theo một nghĩa nảo đỏ.

Ví dụ crawler của một Search Engine nảo đó được thiết kẻ đẻ khám phá cảng nhiều Web site cảng tốt, bỏ lại các trang Web bị “vùi sâu” trong một site (đường đến các trang Web nảy dài và phức tạp) trong khi crawler của một Search Engine khác lại được giao nhiệm vụ khám phá một vùng (domain) nào đó. Bộ điểu khiển crawler nắm giữ vai trò điều khiên, hưởng hoạt động cho các crawlers. Khi Search Engine ít nhất một lần hoàn thảnh một vỏng crawl, bộ điều khiên có thể nhận được thông bảo bởi vài ebï mục (imdexes) được tạo ra trong quá trình khám. phá trước đó.

Bộ điều khiên căn cứ vào chỉ mục đề quyết định xem những liên kết nào nên viếng thăm, những liên kết nào nên bỏ qua. Bộ điều khiến đôi khi sử dụng thong 8 tì phán hỏi tử phía Query Engine dẻ diều khién crawler (duoc thé hign qu mii tén ndi Quary Engine va. Crawl control trong mé hinh kign tric) Việc viếng thăm lai mét trang Web nao đỏ để kiểm tra xem trang Web đỏ có cập nhật thông tia gì mới đối hỏi tải nguyên khá lớn. Nó sẽ bao gồm những công việc kết nổi đến Website, tái dữ liệu về vả so sánh với đữ liệu cũ đã có để chồng trùng, Sau Xhủ kiểm tra việc dữ liệu có bị lặp giữa một trang với nhau và các nguồn khác nhau, chương trình mới quyết định có cập nhật hay không, Như vậy, việc này đòi hỏi tiêu tốn cỗ CPU bên cmwlor, dưỡng truyền mạng và â thời gim Irả lời ña hoi chứa thông tin, thoi gian đề kiểm tra xem đữ liệu có trùng không.

Trong lính vực các trang Web dạng báo chí (news) hiện tượng trùng lặp thông tin đo các bảo đẫn lại thông tin của nhau hiện nay là rất nhiêu. Trong lĩnh vực hàng hóa hoặc rao vặt, việc request kiểm tra cập nhật cho các trang con đễ lảm Server bên phục vụ quả tái. Bói vì những trang Web. nay có tắt nhiều trang con vi mếi sán phẩm được rao bản đới hói phải có một trang con riêng biết, và có rất nhiều sản phẩm được rao bán và do dó, mỗi khi Crawler gửi yêu cầu (roqucst) đến, các Wcbsite loại này dễu phải tạo những trang con có nội dụng để trả lời.

Nếu bên Crawler sử dụng quá nhiều server và gũi quả nhiều requcst thì nó cũng. chẳng khác DDOS bao nhiều. ‘Tat nhién, téc dé cap nhật của các trang Web khác nhau cũng rất khác nhau. Với những trang báo như Vnexpress.net thí thời gian cập nhật sẽ nhanh hơu rất nhiều so với những trang Web của các trưởng dại học nhu coltech vau.

Do dé, viée cộp nhật oác trang Web với khong thời gian bao lầu, vi thổa thuận giữa phía crawler với bên server chứa thông tin cũng cần phải được tính toán va can nhac. indexer module (mé-dun đánh chỉ mục) tách các từ cần thiết có trong mỗi trang, Web, ghi lai URL etia trang Web có chứa chúng. Kết quá là bình thành nên một bảng, tra ru mà lừ các URI,; thể biết được tứr có trong van ban cia URL dé. ndex có thể coi là một.

cách tái lỗ chức lại văn bên theo một cách riêng dễ phục vụ cho việc tim kiêm. Với một cách tổ chức đữ liệu khác nhau, ta có thể có cách tìm kiểm khác nhau Collection analysis module (mé-dun phan tich tay) Mét module phan tich tap các Index nhằm rút ra các thông tin quan trong có thẻ tính off ]me với muc dich cho việc lùn kiếm để dàng và nhanh chồng hơn Utility index trong hình vẽ được tạo ra bỏi collection analysis module. Ví dụ nhu utility index cho biét các trang Web có có chiều dải, mức độ quan trọng hay thận) chí là số lượng ánh có trọng nó cho trước. Collection analysis module sit dung text index và siruelure index đễ lao 1a utility index.

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