Trờng đại học s phạm hà nội
Khoa Công nghệ thông tin
----------
BO CO NGHIấN CU KHOA HC
ti
CễNG C TèM KIM
SEARCH ENGINE
Giảng viên hớng dẫn : TS. Trần Công Nhợng
Th.S Nguyễn Thị Huyền
Sinh viên thực hiện : Nguyễn Thị Kim Liên
Khoá : K54 B
Trường ĐHSP Hà Nội
Hµ néi, th¸ng 4 2008–
LỜI MỞ ĐẦU
Ngà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.
Nguyễn Thị Kim Liên - 2 -
Trường ĐHSP Hà Nội
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,…
Chươ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.
Nguyễn Thị Kim Liên - 3 -
Trường ĐHSP Hà Nội
Chương 1: GIỚI THIỆU VỀ CÔNG CỤ TÌM KIẾM (SEARCH
ENGINE)
Tó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à
Nguyễn Thị Kim Liên - 4 -
Trường ĐHSP Hà Nội
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
cá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.
Nguyễn Thị Kim Liên - 5 -
Biểu diễn
Truy vấn thông tin
Bài toán thông tin Văn bản
Biểu diễn
Văn bản đã chỉ số
So sánh
Phản hồi
Các văn bản được
tìm kiếm
Trường ĐHSP Hà Nội
Hình 1: Quy trình tìm kiếm
Quy 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ể.
Nguyễn Thị Kim Liên - 6 -
Trường ĐHSP Hà Nội
2.2 Bộ công cụ tìm kiếm trên mạng
Do 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
Nguyễn Thị Kim Liên - 7 -
Trường ĐHSP Hà Nội
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 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 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:
• Google: www.google.com
• Ask Jeeves www.ask.com/
• Teoma: www.teoma.com/
• Altavista: www.altavista.com/
• Excite: www.excite.com/
• Gigablast: www.gigablast.com/
Nguyễn Thị Kim Liên - 8 -
Trường ĐHSP Hà Nội
• lycos: www.lycos.co.uk/
- Kiểu Meta:
• 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: tìm trên Netscape, MSN,
Lycos,LookSmart.
- Kiểu Directory:
• Yahoo: www.yahoo.com
• Infomine: infomine.ucr.edu/
• Academic Info: www.academicinfo.net
• About: www.about.com
2. Một số search engine thông dụng ở Việt Nam
- Netnam
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,
Nguyễn Thị Kim Liên - 9 -
Trường ĐHSP Hà Nội
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
search), 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.
Nguyễn Thị Kim Liên - 10 -