Chương 1: TỔNG QUAN VỀ HỆ THỐNG SEARCH ENGINE 1. Các bộ phận cấu thành hệ thống search engine 1.1 Bộ thu thập thông tin – Robot Robot là một chương trình tự động duyệt qua các cấu trúc siêu liên kết để thu thập tài liệu & một cách đệ quy nó nhận về tất cả tài liệu có liên kết với tài liệu này. Robot được biết đến dưới nhiều tên gọi khác nhau : spider, web wanderer hoặc web worm,… Những tên gọi này đôi khi gây nhầm lẫn, như từ ‘spider’, ‘wanderer’ làm người ta nghĩ rằng robot tự nó di chuyển và từ ‘worm’ làm người ta liên tưởng đến virus. Về bản chất robot chỉ là một chương trình duyệt và thu thập thông tin từ các site theo đúng giao thức web.
Những trình duyệt thông thường không được xem là robot do thiếu tính chủ động, chúng chỉ duyệt web khi có sự tác động của con người.2 Bộ lập chỉ mục – Index Hệ thống lập chỉ mục hay còn gọi là hệ thống phân tích và xử lý dữ liệu, thực hiện việc phân tích, trích chọn những thông tin cần thiết (thường là các từ đơn , từ ghép , cụm từ quan trọng) từ những dữ liệu mà robot thu thập được và tổ chức thành cơ sở dữ liệu riêng để có thể tìm kiếm trên đó một cách nhanh chóng, hiệu quả. Hệ thống chỉ mục là danh sách các từ khoá, chỉ rõ các từ khoá nào xuất hiện ở trang nào, địa chỉ nào. Lê Thuý Ngọc - 0012745 2 Đỗ Mỹ Nhung - 0012624. Tìm hiểu về Search Engine và xây dựng ứng dụng minh hoạ cho Search Engine tiếng Việt 1.3 Bộ tìm kiếm thông tin – Search Engine Search engine là cụm từ dùng chỉ toàn bộ hệ thống bao gồm bộ thu thập thông tin, bộ lập chỉ mục & bộ tìm kiếm thông tin.
Các bộ này hoạt động liên tục từ lúc khởi động hệ thống, chúng phụ thuộc lẫn nhau về mặt dữ liệu nhưng độc lập với nhau về mặt hoạt động. Search engine tương tác với user thông qua giao diện web, có nhiệm vụ tiếp nhận & trả về những tài liệu thoả yêu cầu của user. Nói nôm na, tìm kiếm từ là tìm kiếm các trang mà những từ trong câu truy vấn (query) xuất hiện nhiều nhất, ngoại trừ stopword (các từ quá thông dụng như mạo từ a, an, the,…). Một từ càng xuất hiện nhiều trong một trang thì trang đó càng được chọn để trả về cho người dùng.
Và một trang chứa tất cả các từ trong câu truy vấn thì tốt hơn là một trang không chứa một hoặc một số từ. Ngày nay, hầu hết các search engine đều hỗ trợ chức năng tìm cơ bản và nâng cao, tìm từ đơn, từ ghép, cụm từ, danh từ riêng, hay giới hạn phạm vi tìm kiếm như trên đề mục, tiêu đề, đoạn văn bản giới thiệu về trang web,…. Ngoài chiến lược tìm chính xác theo từ khoá, các search engine còn cố gắng ‘ hiểu ‘ ý nghĩa thực sự của câu hỏi thông qua những câu chữ do người dùng cung cấp. Điều này được thể hiện qua chức năng sửa lỗi chính tả, tìm cả những hình thức biến đổi khác nhau của một từ.
Ví dụ : search engine sẽ tìm những từ như speaker, speaking, spoke khi người dùng nhập vào từ speak. Nguyên lý hoạt động Search engine điều khiển robot đi thu thập thông tin trên mạng thông qua các siêu liên kết ( hyperlink ). Khi robot phát hiện ra một site mới, nó gởi tài liệu (web Lê Thuý Ngọc - 0012745 3 Đỗ Mỹ Nhung - 0012624. Tìm hiểu về Search Engine và xây dựng ứng dụng minh hoạ cho Search Engine tiếng Việt page) về cho server chính để tạo cơ sở dữ liệu chỉ mục phục vụ cho nhu cầu tìm kiếm thông tin.
Bởi vì thông tin trên mạng luôn thay đổi nên robot phải liên tục cập nhật các site cũ. Mật độ cập nhật phụ thuộc vào từng hệ thống search engine. Khi search engine nhận câu truy vấn từ user, nó sẽ tiến hành phân tích, tìm trong cơ sở dữ liệu chỉ mục & trả về những tài liệu thoả yêu cầu. Lê Thuý Ngọc - 0012745 4 Đỗ Mỹ Nhung - 0012624.
Tìm hiểu về Search Engine và xây dựng ứng dụng minh hoạ cho Search Engine tiếng Việt Chương 2: BỘ THU THẬP THÔNG TIN – ROBOT 1. Ứng dụng của Robot Robot thường được sử dụng cho những mục đích sau : 1.1 Phân tích, thống kê – Statistical Analysis Robot đầu tiên được dùng để đếm số lượng web server, số tài liệu trung bình của một server, tỉ lệ các dạng file khác nhau, kích thước trung bình của một trang web, độ kết dính, … 1.2 Duy trì siêu liên kế - Maintenance Một trong những khó khăn của việc duy trì một siêu liên kết là nó liên kết với những trang bị hỏng (dead links) khi những trang này bị thay đổi hoặc thậm chí bị xóa. Thật không may vẫn chưa có cơ chế nào cảnh báo các bộ duy trì về sự thay đổi này. Trên thực tế khi các tác giả nhận ra tài liệu của mình chứa những liên kết hỏng, họ sẽ thông báo cho nhau, hoặc thỉnh thoảng độc giả thông báo cho họ bằng email.
Một số robot, chẳng hạn MOMspider có thể trợ giúp tác giả phát hiện các liên kết hỏng cũng như duy trì các cấu trúc siêu liên kết cùng nội dung của một trang web. Chức năng này lặp lại liên tục mỗi khi một tài liệu được cập nhật, nhờ đó mọi vấn đề xảy ra sẽ được giải quyết nhanh chóng.3 Ánh xạ địa chỉ web - Mirroring Mirroring là một kỹ thuật phổ biến trong việc duy trì các kho dữ liệu của FPT. Một ánh xạ (mirror) sẽ sao chép toàn bộ cấu trúc cây thư mục và thường xuyên cập Lê Thuý Ngọc - 0012745 5 Đỗ Mỹ Nhung - 0012624. Tìm hiểu về Search Engine và xây dựng ứng dụng minh hoạ cho Search Engine tiếng Việt nhật những file bị thay đổi.
Điều này cho phép nhiều người cùng truy xuất một nguồn dữ liệu, giảm số liên kết bị thất bại, nhanh hơn và ít chi phí hơn so với truy cập trực tiếp vào site thực sự chứa các dữ liệu này.4 Phát hiện tài nguyên – Resource Discovery Có lẽ ứng dụng thú vị nhất của robot là dùng nó để phát hiện tài nguyên. Con người không thể kiểm soát nổi một khối lượng thông tin khổng lồ trong môi trường mạng. Robot sẽ giúp thu thập tài liệu, tạo và duy trì cơ sở dữ liệu, phát hiện và xoá bỏ các liên kết hỏng nếu có, kết hợp với công cụ tìm kiếm cung cấp thông tin cần thiết cho con người.5 Kết hợp các công dụng trên- Combined uses Một robot có thể đảm nhận nhiều chức năng. Ví dụ RBSE Spider [4] vừa thống kê số lượng tài liệu thu được vừa tạo cơ sở dữ liệu.
Tuy nhiên những ứng dụng như thế còn khá ít ỏi. Robot chỉ mục – Robot Indexing Trong quá trình thu thập thông tin phục vụ cho bộ lập chỉ mục, ta cần giải quyết những vấn đề sau : Một là : Trong môi trường mạng, robot lấy thông tin từ các site. Vậy robot sẽ bắt đầu từ site nào ? Điều này hoàn toàn phụ thuộc vào robot. Mỗi robot khác nhau sẽ có những chiến lược khác nhau.
Thường thì robot sẽ viếng thăm các site phổ biến hoặc những site có nhiều liên kết dẫn đến nó. Hai là : Ai sẽ cung cấp địa chỉ của các site này cho robot ? Lê Thuý Ngọc - 0012745 6 Đỗ Mỹ Nhung - 0012624. Tìm hiểu về Search Engine và xây dựng ứng dụng minh hoạ cho Search Engine tiếng Việt Có 2 nguồn : Robot nhận các URL ban đầu từ user. Robot phân tích các trang web để lấy các URL mới, đến lượt các URL này trở thành địa chỉ đầu vào cho robot.
Quá trình này được lặp lại liên tục. Ba là : Chọn dữ liệu nào trong tài liệu để lập chỉ mục ? Quyết định chọn dữ liệu nào trong tài liệu cũng hoàn toàn phụ thuộc vào robot, thường thì những từ được liệt kê như sau được xem là quan trọng : Ở góc cao của tài liệu. Trong các đề mục Được in đậm (inktomi) Trong URL. Trong các thẻ dành cho hình ảnh (ALT graphisc).
Trong các thẻ chứa từ khóa. Trong các text liên kết. Một số robot lập chỉ mục trên tiêu đề, hoặc một số đoạn văn bản đầu tiên hoặc toàn bộ tài liệu (full text). Một số khác lại lập chỉ mục trên các thẻ META(META tags) hoặc các thẻ ẩn, nhờ vậy tác giả của trang web được quyền ấn định từ khoá cho tài liệu của mình.
Tuy nhiên chức năng này bị lạm dụng quá nhiều do đó các thẻ META không còn giữ được giá trị ban đầu của chúng nữa. Lê Thuý Ngọc - 0012745 7 Đỗ Mỹ Nhung - 0012624. Tìm hiểu về Search Engine và xây dựng ứng dụng minh hoạ cho Search Engine tiếng Việt 3. Các chiến thuật thu thập dữ liệu [II.1] Trước khi các trang web được đánh chỉ mục, tất cả các trang web phải được lấy về máy của robot.
Để lấy được tất cả các trang web, robot phải có chiến thuật. Từ một số trang web có sẵn, robot lọc ra danh sách các liên kết, rồi từ đó dò tìm các trang khác. Có 3 chiến thuật tìm kiếm Heuristic sau : tìm kiếm theo chiều sâu, tìm kiếm theo chiều rộng và tìm kiếm ngẫu nhiên.1 Chiến thuật tìm kiếm theo chiều sâu Từ một danh sách chứa các liên kết cần duyệt, thực hiện các bước sau : (1) Cho danh sách = {trang đầu tiên} (2) Lấy trang đầu tiên trong danh sách. Nếu có qua (3) Nếu không qua (5) (3) Trang này đã xét tới chưa ? Nếu rồi, quay lại (2) Nếu chưa, qua (4) (4) Đánh dấu đã tới rồi.
Phân tích và tìm xem liên kết có trong trang đó không? (4a) Nếu có, thêm liên kết này vào đầu danh sách. Lê Thuý Ngọc - 0012745 8 Đỗ Mỹ Nhung - 0012624. Tìm hiểu về Search Engine và xây dựng ứng dụng minh hoạ cho Search Engine tiếng Việt 3.2 Chiến thuật tìm kiếm theo chiều rộng Từ một danh sách chứa các liên kết cần duyệt, thực hiện các bước sau : (1) Cho danh sách = {trang đầu tiên} (2) Lấy trang đầu tiên trong danh sách. Nếu có qua (3) Nếu không qua (5) (3) Trang này đã xét tới chưa ? Nếu rồi, quay lại (2) Nếu chưa, qua (4) (4) Đánh dấu đã tới rồi.
Phân tích và tìm xem liên kết có trong trang đó không? (4a) Nếu có, thêm liên kết này vào cuối danh sách.3 Chiến thuật tìm kiếm theo ngẫu nhiên Từ một danh sách chứa các liên kết cần duyệt, thực hiện các bước sau : (1) Cho danh sách = {trang đầu tiên} (2) Lấy ngẫu nhiên một trang trong danh sách.