CÔNG CỤ TÌM KIẾM SEARCH ENGINE
Trang 1BÁO CÁO NGHIÊN CỨU KHOA HỌC
Đề tài
CÔNG CỤ TÌM KIẾMSEARCH ENGINE
Trang 2Ngày nay, với sự ra đời của mạng Internet và sự phát triển nhanhchóng, vượt bậc của mạng truyền thông, khối lượng rất lớn các thông tin đượccập nhật và đưa lên mạng Đa số các thông tin là các tập tin phi cấu trúc, nằmrải rác ở nhiều nơi Câu hỏi đặt ra làm thế nào để tìm được đúng thông tin mộtcách nhanh chóng và hiệu quả nhất Để đáp ứng yêu cầu đó, đã có rất nhiều
bộ công cụ tìm kiếm thông tin trên mạng ra đời như Google, Yahoo,Altavista,…Và để hiểu được cơ chế hoạt động của những bộ công cụ này, tôi
đã lựa chọn đề tài “Công cụ tìm kiếm”.
Thông tin được lưu dưới dạng cơ sở dữ liệu thường là có cấu trúc nêntìm kiếm rất nhanh vì hầu hết đã được lập chỉ mục Tuy nhiên, thông tin rấtnhiều và đa dạng được đề cập ở đây là thông tin dưới dạng phi cấu trúc, tháchthức đối với người dùng tin Thông tin dưới dạng phi cấu trúc muốn tìmnhanh trong thời gian ngắn phải được sắp xếp lại để có thể tìm và sử dụngđược, để biến chúng thành thông tin có giá trị cho mỗi người
Như đã đề cập ở trên hiện này có rất nhiều bộ công cụ nổi tiếng, nhứGoogle đã cung cấp mộ công cụ tìm kiếm rất hoàn hảo.Tại sao lại phải nỗ lực
để làm việc này? Câu trả lời là chúng ta vẫn phải nghiên cứu, tìm hiểu đểkhám phá và hiểu biết sâu hơn về cách thu thập, lưu trữ, biểu diễn, tổ chứctìm kiếm thông tin hiệu quả và nhanh nhất
Tìm kiếm Tiếng Việt trên Web vẫn đang là vấn đề khá mới đối với ViệtNam Nên trong quá trình tìm hiểu lý thuyết tôi cũng đặc biệt chú trọng hơn
Luận văn này có cấu trúc: Phần giới thiệu, phần nội dung gồm 3chương, phần kết luận và tài liệu tham khảo
Chương 1: Giới thiệu về công cụ tìm kiếm (Search Engine) Chươngnày giới thiệu về khái niệm và các mô hình truyển thống và các mô hình tìmkiếm thông tin trên mạng
Chương 2: Chương này trình bày về các công cụ cơ bản trong bộ tìmkiếm thông tin như bộ thu thập thông tin, bộ lập chỉ mục, bộ sắp xếp,…
Nguyễn Thị Kim Liên - 1 -
Trang 3Chương 3: Thiết kế và cài đặt Nội dung chương này trình bày cáchthiết kế, tổ chức,… trong bộ tìm kiếm thông tin
Chương 1: GIỚI THIỆU VỀ CÔNG CỤ TÌM KIẾM (SEARCH ENGINE)
Nguyễn Thị Kim Liên - 2 -
Trang 4Tóm tắt nội dung chương:
- Khái niệm công cụ tìm kiếm.
- Mô hình bộ công cụ tìm kiếm.
- Các bộ phận cấu thành hệ thống search engine
- Một số Search engine thông dụng trên Thế giới và Việt Nam.
I Khái quát về công cụ tìm kiếm thông tin
1 Khái niệm công cụ tìm kiếm thông tin
Thuật ngữ tìm kiếm thông tin xuất hiện từ khá sớm, thông tin ở đây cóthể là dạng văn bản, hình ảnh hoặc âm thanh,…mà phổ biến nhất là dạng vănbản
Thuật ngữ Search engine là một công cụ phần mềm nhằm tìm ra cáctrang trên mạng dựa vào các thông tin mà nó có Dữ lượng thông tin củasearch engine thực chất là một loại cở sở dữ liệu (database) cực lớn Công cụnày tìm các tài liệu dưạ trên các từ khoá (keyword) và trả về một danh mụccuả các trang có chứa từ khoá
Một hệ thống tìm kiếm thông tin là chương trình phần mềm, dùng đểlưu trữ và quản lý thông tin trong các tài liệu Hệ thống này sẽ giúp người sửdụng tìm kiếm thông tin mà họ quan tâm Một số tài liệu tìm thấy thỏa mãnyêu cầu của người dùng gòi là tài liệu phù hợp hay các tài liệu liên quan
Về cơ bản có 3 loại công cụ tìm kiếm: một số được vận hành bởi cáccrawler, hoặc các spider; một số được vận hành bởi Human submissions, vàmột số là sự kết hợp của hai loại trên
Các công cụ dựa trên Crawler gửi các crawler, hoặc là spider ra
ngoài Các crawler này sẽ đến một trang web, đọc các thông tin thực sự củatrang web đó, đọc các meta tag của trang web và nó cũng đến tận các link màtrang web đó link đến Các crawler này sẽ gửi tất cả các thông tin về trungtâm lưu trữ để liệt kê các dư liệu ra Crawler sẽ quay trở lại trang web đó một
Nguyễn Thị Kim Liên - 3 -
Trang 5cách định kỳ để cập nhập sự thay đổi trên trang web đó, và chu kỳ cập nhậtnày là do ngưòi quản trị của công cụ tìm kiếm đó đặt cấu hình.
Các công cụ tìm kiếm Human-powered thì lại tin vào các thông tin
được liệt kê ra bởi người quản trị trang web, rồi sau đó các thông tin này sẽđược liệt kê và đưa vào bảng liệt kê Chỉ những thông tin được đưa ra bởi nhàquản trị web mới được đưa vào bảng liệt kê
2 Mô hình bộ công cụ tìm kiếm
Tìm kiếm thông tin nói chung là giải quyết các vấn đề như: biểu diễn,lưu trữ, tổ chức và truy cập đến các mục thông tin Việc tổ chức và biểu diễnthông tin giúp người sử dụng dễ dàng truy cập thông tin mà mình quan tâm.Nhưng để mô tả các thông tin đó không phải là điều dễ dàng Do vậy, hệthống tìm kiếm thông tin bao gồm quá trình cơ bản sau: Biểu diễn nội dungcác tài liệu, biểu diễn yêu cầu người dùng và so sánh hai biểu diễn này
Hình 1: Quy trình tìm kiếm
Nguyễn Thị Kim Liên - 4 -
Biểu diễn
Truy vấn thông tin
Trang 6Quy trình biểu diễn tài liệu thường gọi là quá trình chỉ số hóa Quátrình này có thể lưu trữ thực sự các tài liệu trong hệ thống nhưng thường chỉlưu một phần tài liệu, chẳng hạn như phần tiêu đề, phần tóm tắt Quá trìnhbiểu diễn yêu cầu của người dùng gọi là quá trình truy vấn Truy vấn biểu thị
sự tương tác giữa hệ thống và người sử dụng Việc so sánh truy vấn với tàiliệu cũng được gọi là quá trình đối sánh và cho kết quả là một danh sách cáctài liệu được sắp xếp theo thứ tự mức độ liên quan với truy vấn
Rõ ràng, để mô tả thông tin yêu cầu một cách đầy đủ, người sử dụngkhông thể trực tiếp yêu cầu thông tin sử dụng các giao diện hiện thời của hệthống tìm kiếm Thay vì người sử dụng đầu tiên phải chuyển đổi thông tin yêucầu này thành một truy vấn mà có thể được xử lý bởi hệ thống tìm kiếm (hoặc
hệ thống thu hồi thông tin (Information Retrieval - IR)) Thông thường, phépchuyển đổi này tạo ra một tập hợp các từ khoá (hoặc các term chỉ số) mô tảkhái quát yêu cầu của người sử dụng
Như vậy, việc tìm kiếm các tài liệu dựa trên nội dung thực sự của vănbản mà không phụ thuộc vào các từ khoá gắn với văn bản đó Các công cụ tìmkiếm văn bản nổi tiếng hiện nay như Google, Altavista, Yahoo,…là những hệtìm kiếm đưa ra danh sách các văn bản theo độ quan trọng của câu hỏi đưavào Để xây dựng một hệ tìm kiếm văn bản có hiệu quả cao, trước hết các vănbản và truy vấn ở dạng ngôn ngữ tự nhiên phải được tiền xử lý và chuẩn hoá
Sau đây là hai mô hình chi tiết cho bộ công cụ tìm kiếm thông tintruyền thống và bộ công cụ tìm kiếm thông tin trên mạng
2.1 Mô hình bộ công cụ tìm kiếm truyền thống
Vào những năm 70, khi các mô hình tìm kiếm thông tin chủ yếu được
xử lý với các truy vấn không có cấu trúc Nguyên tắc hoạt động của hệ thốngtruy vấn tự động chỉ số hóa và thiết lập công thức truy vấn, kết quả đưa ra làmột biểu diễn có ý nghĩa gần với ý nghĩa thực của văn bản, loại bỏ các từkhông theo quy tắc trong ngôn ngữ tự nhiên đến mức có thể
2.2 Bộ công cụ tìm kiếm trên mạng
Nguyễn Thị Kim Liên - 5 -
Trang 7Do các trang Web phân tán ở khắp mọi nơi nên điều đầu tiên là chúng
ta phải thu thập được tất cả các dữ liệu Web có liên quan tới truy vấn, lập chỉmục, sau đó thực hiện tìm kiếm để đưa ra tập kết quả có liên quan tới nộidung truy xuất Mô hình này rất phức tạp bởi kho dữ liệu cực lớn với tỷ lệthay đổi nội dung cao
II Các bộ phận cấu thành hệ thống search engine
1 Bộ thu thập thông tin
Cơ sở dữ liệu cuả các search engine được cập nhật hoá bởi các chươngtrình đặc biệt thường gọi là "robot", "spider" hay "Webcrawler" Các chươngtrình này sẽ tự động dò tìm và phân tích từ những trang có sẵn trong cơ sở dữliệu để kiếm ra các liên kết (links) từ các trang và trở lại bổ xung dữ liệu chocác search engine sau khi phân tích
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áchnhanh chóng, hiệu quả Lập chỉ mục là giai đoạn phân tích tài liệu (document)
để xác định các chỉ mục biểu diễn nội dung của tài liệu 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
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ậpthô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
Nguyễn Thị Kim Liên - 6 -
Trang 8tục từ lúc khởi động hệ thống, chúng phụ thuộc lẫn nhau về mặt dữ liệunhư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 và trả về những tài liệu thoả yêu cầu của user
4 Bộ Query Engine
Bộ công cụ truy vấn có nhiệm vụ nhận và tìm kiếm các yêu cầu củangười sử dụng, Bộ công cụ này sẽ dựa vào bảng chỉ mục và các kho lưu trữ.Bởi kích thước của web rất lớn, thêm nữa khi sử dụng chỉ đưa vào một hayhai từ khóa sau đó sẽ nhận được tập kết quả Do đó phải có một modul sắpxếp kết quả theo thứ tự sao cho nó gần với nội dung đang cần tìm nhất
5 Sắp xếp
Đây là một modul có chức năng sàng lọc thông tin từ hàng triệu trangtương tự nhau để sắp xếp vị trí từng trang sao cho phù hợp nhất
III Một số Search engine thông dụng trên Thế giới và Việt Nam
1 Một số search engine trên Thế Giới
Vài nét về các đặc trưng của một số search engine thông dụng trên thếgiới:
- Trang kiểu Spider:
Trang 9 Dog Pile: www.dogpile.com tìm trên LookSmart, GoTo.com,Thunderstone, Yahoo!, Open Directory, About.com, Direct Hit, Lycos, andAltaVista
Meta Find: www.metafind.com tìm trên Meta Find Excite,AltaVista, Infoseek, and WebCrawler
Meta crawlwr: www.metacrawler.com tìm trên Lycos,WebCrawler, Infoseek, Excite, Thunderstone, AltaVista, GoTo, và Yahoo
Vivisimo: http://vivisimo.com tìm trên Netscape, MSN,Lycos,LookSmart
- Vinaseek
VinaSeek là một S.E cho các web site tiếng Việt của Công ty Côngnghệ Tin học Tinh Vân Vinaseek được phát triển từ năm 1997 theo mô hìnhcủa các search engine như Google, AltaVista, bổ sung khả năng tìm kiếmchính xác theo từ khoá cho Tiếng Việt, theo mọi bảng mã (TCVN3, VNi,TVCN-6909, ViQR ), theo mọi định dạng tài liệu văn bản (html, xml, rtf,word, pdf, PostScript ), theo mọi cách bỏ dấu khác nhau (“hoà” hay “hòa”),tìm kiếm hình ảnh và âm thanh, tìm kiếm gần đúng, tìm kiếm mờ (fuzzy
Nguyễn Thị Kim Liên - 8 -
Trang 10search), tìm kiếm đồng âm và đồng nghĩa, đang lưu trữ chỉ mục và toàn văncủa tất cả các trang Web Tiếng Việt trên internet (ước chừng 10 triệu vănbản), và nhận được hàng trăm ngàn lượt truy cập mỗi ngày.
Chương 2: CÁC CÔNG CỤ CƠ BẢN
Tóm tắt nội dung chương:
Nguyễn Thị Kim Liên - 9 -
Trang 11- Thu hồi trang web.
- Bộ lập chỉ mục.
- Bộ tìm kiếm thông tin.
- Sắp xếp và phân tích liên kết.
I Thu hồi trang Web
Module Robot có nhiệm vụ thu hồi các trang web để hỗ trợ cho cácmodule sau Module Robot có đầu vào là một tập các giá trị khởi tạo URL,chúng được thu hồi và sắp xếp theo thứ tự ưu tiên nào đó Robot 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 trongtrang, đặt vào kho lưu trữ, quá trình này được lập đi lập lại cho tới khi Robotquyết định dừng
Hoạt động của Robot thường được sử dụng vào những mục đích sau:
Phân tích, thống kê
Robot đầu tiên được dùng để đếm số lượng web server, số tài liệu trungbình của một server, tỉ lệ các dạng file khác nhau, kích thước trung bình củamột trang web, độ kết dính, …
Duy trì siêu liên kết
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ênkết với những trang bị hỏng (dead links) khi những trang này bị thay đổi hoặcthậ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ộ duytrì 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ìnhchứa những liên kết hỏng, họ sẽ thông báo cho nhau, hoặc thỉnh thoảng độcgiả 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ệncá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 dungcủ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 đượccập nhật, nhờ đó mọi vấn đề xảy ra sẽ được giải quyết nhanh chóng
Nguyễn Thị Kim Liên - 10 -
Trang 12Á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ệucủ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 nhật những file bị thay đổi Điều này cho phép nhiều ngườicù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à ítchi 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
Phát hiện nguồn tài nguyên
Có lẽ ứng dụng thú vị nhất của robot là dùng nó để phát hiện tàinguyê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
1 Các chiến thuật thu thập dữ liệu
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ìmkiếm theo chiều rộng và tìm kiếm ngẫu nhiên
2 Những vấn đề cần lưu ý của web robot
- Việc sử dụng các Robot tốn khá nhiều chi phí, đặc biệt là khi chúngđược điều khiển từ xa trên Internet
- Quá tải mạng và server
Trang 13Lập chỉ mục tài liệu, hiểu một cách đơn giản, là việc sắp xếp các tàiliệu nhằm đáp ứng nhanh chúng yêu cầu tìm kiếm thông tin của người sửdụng Hiệu quả của một phương pháp lập chỉ mục được đánh giá qua khônggian lưu trữ mà nó đòi hỏi và thời gian cần thiết để thực hiện việc tìm kiếmthông tin Các phương pháp lập chỉ mục giữ vai trò quan trọng trong việc xâydựng một hệ tìm kiếm thông tin hiệu quả.
Các trang Web sau khi thu thập về sẽ được phân tích, trích chọn nhữngthông tin cần thiết (thường là các từ đơn, từ ghép, cụm từ quan trọng) để lưutrữ trong cơ sở dữ liệu nhằm phục vụ cho nhu cầu tìm kiếm sau này
2 Tổng quan về phương pháp lập chỉ mục
Module lập chỉ mục xây dựng hai chỉ mục cơ bản: Chỉ mục cho nộidung (cho văn bản) và chỉ mục cho liên kết
2.1 Phương pháp lập chỉ mục cho nội dung
Phương pháp lập chỉ mục này gồm 2 phần chính yếu sau :
Đầu tiên là xác định các mục từ, khái niệm mà có khả năng đại diệncho văn bản sẽ được lưu trữ (bao gồm cả việc tách từ, loại bỏ stop-word, xử
lý hậu tố…)
Thứ hai là xác định trọng số cho từng mục từ, trọng số này là giátrị phản ánh tầm quan trọng của mục từ đó trong văn bản
Mục từ hay còn gọi là mục từ chỉ mục, là đơn vị cơ sở cho quá trình
lập chỉ mục Mục từ có thể là từ đơn, từ phức hay một tổ hợp từ có nghĩatrong một ngữ cảnh cụ thể Ta xác định mục từ của 1 văn bản dựa vào chínhnội dung của văn bản đó, hoặc dựa vào tiêu đề hoặc tóm tắt nội dung của vănbản đó
Đặc trưng xuất hiện của từ vựng có thể được định bởi hằng số “thứhạng - tần số” (Rank_Frequency ) theo luật của Zipf :
Nguyễn Thị Kim Liên - 12 -
Tân số xuất hiện * thứ hạng = Hằng số