CÔNG CỤ TÌM KIẾM SEARCH ENGINE
Trang 1BÁO CÁO NGHIÊN CỨU KHOA HỌC
Trang 2Ngày nay, với sự ra đời của mạng Internet và sự phát triển nhanh chó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 được cậ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ằm rả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ột cá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ên tìm kiếm rất nhanh vì hầu hết đã được lập chỉ mục Tuy nhiên, thông tin rất nhiều và đa dạng được đề cập ở đây là thông tin dưới dạng phi cấu trúc, thách thức đối với người dùng tin Thông tin dưới dạng phi cấu trúc muốn tìm nhanh 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ức tì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ệt Nam 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 3 chươ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ương nà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ìm kiế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ìm kiế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ách thiế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 (SEARCHENGINE)
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ăn bản.
Thuật ngữ Search engine là một công cụ phần mềm nhằm tìm ra các trang trên mạng dựa vào các thông tin mà nó có Dữ lượng thông tin của search 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ục cuả 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ãn yê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ác crawler, 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ủa trang 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ề trung tâ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ật nà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ễn thô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 dung cá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ình biể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ài liệ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ác tà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ụng khô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êu cầ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ép chuyể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ăn bả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ìm kiế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 đưa và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ăn bả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 tin truyề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ống truy 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ội dung 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ương trình đặc biệt thường gọi là "robot", "spider" hay "Webcrawler" Các chương trì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 cho cá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ách nhanh 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ậ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
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ệ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 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ủa ngườ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 hay hai từ khóa sau đó sẽ nhận được tập kết quả Do đó phải có một modul sắp xế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 trang tươ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 Nam1 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ế
Trang 9 Dog Pile: www.dogpile.com tìm trên LookSmart, GoTo.com, Thunderstone, Yahoo!, Open Directory, About.com, Direct Hit, Lycos, and AltaVista
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,
Hệ thống được chia thành ba tầng chính, gồm tầng Thu thập thông tin, Nhận dạng và chuyển đổi thông tin thành dạng text, Lập cơ sở dữ liệu cho các thông tin text
- Vinaseek
VinaSeek là một S.E cho các web site tiếng Việt của Công ty Công nghệ Tin học Tinh Vân Vinaseek được phát triển từ năm 1997 theo mô hình của các search engine như Google, AltaVista, bổ sung khả năng tìm kiếm chí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ăn của tất cả các trang Web Tiếng Việt trên internet (ước chừng 10 triệu văn bả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ác module 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 trong trang, đặt vào kho lưu trữ, quá trình này được lập đi lập lại cho tới khi Robot quyế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 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, …
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ê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
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ệ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 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
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à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
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ìm kiế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ài liệ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ông gian 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ếm thông tin Các phương pháp lập chỉ mục giữ vai trò quan trọng trong việc xây dự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ững thông tin cần thiết (thường là các từ đơn, từ ghép, cụm từ quan trọng) để lưu trữ 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ội dung (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ện cho 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ĩa trong 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ính nộ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ăn bả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ố