Bộ truy vấn dựa theo từ khoá tìm kiếm và tìm trong bảng chỉ mục URL đã có trong cơ sở dữ liệu về URL của hệ tìm kiếm địa chỉ các trang Web có chứa từ khoá tìm kiếm.. 16 Thực tế, bảng chỉ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
KHOA CÔNG NGHỆ
NGUYỄN THỊ KIM PHƯỢNG
Hệ thống tìm kiếm thông tin và thuật toán đối sánh đa mẫu trong hệ thống tìm kiếm
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI, 2003
Trang 21
Mục lục
Mục lục 1
Lời cám ơn 3
mở đầu 4
Chương 1 Tổng quan về hệ tìm kiếm 6
1.1 Internet và dịch vụ World Wide Web 6
1.1.1 Internet 6
1.1.2 World Wide Web 7
1.2 Khái niệm hệ tìm kiếm 9
1.3 Cấu trúc cơ bản hệ tìm kiếm 10
1.4 Cơ chế hoạt động chung của hệ tìm kiếm 13
1.5 Phân loại các hệ tìm kiếm 18
1.5.1 Tìm kiếm thông thường 19
1.5.2 Siêu tìm kiếm 20
1.6 Một số vấn đề liên quan đến hệ tìm kiếm 24
1.7 Liên kết các câu lệnh truy vấn 26
1.7.1 Liên kết các câu lệnh truy vấn 26
1.7.2 Truy vấn sử dụng toán tử logic 28
1.7.3 Truy vấn sử dụng ngôn ngữ tự nhiên 28
1.7.4 Truy vấn sử dụng từ điển 28
1.7.5 Truy vấn với thông tin không chính xác 29
1.7.6 Truy vấn theo thống kê -xác suất 29
1.8 Phân tích một số hệ tìm kiếm điển hình 29
1.8.1 Hệ tìm kiếm Altavista 30
1.8.2 Hệ tìm kiếm Harest 31
1.8.3 Hệ tìm kiếm Google 32
1.8.4 Hệ tìm kiếm Vietseek 34
Trang 32
Chương 2 Cấu trúc Hệ TìM KIếM 36
2.1 Cấu trúc bộ tìm duyệt 36
2.1.1 Bộ tìm duyệt Web 36
2.1.2 Các thông số cơ bản của bộ tìm duyệt Web 36
2.1.3 Tối ưu số lượng các bộ tìm duyệt 40
2.1.4 Thứ tự tải các trang Web của bộ tìm duyệt 42
2.1.5 Sự phân vùng 46
2.2 Cấu trúc bộ tạo chỉ mục 47
2.2.1 Tạo chỉ mục cho tài liệu 47
2.2.2 Tạo lập chỉ mục theo nội dung và toàn văn bản 49
2.2.3 Các bước để tạo chỉ mục 50
2.3 Các cấu trúc file được sử dụng trong nguồn tìm kiếm thông tin 52
2.3.1 Cấu trúc logic, vật lý và sự độc lập dữ liệu 52
2.3.2 Các tập tin đảo 54
2.4 Nén dữ liệu trong hệ tìm kiếm 55
2.4.1 Nén dữ liệu theo đoạn dài mã từ 55
2.4.2 Nén dữ liệu theo khoảng cách 56
Chương 3 Thuật toán đối sánh đa mẫu 58
3.1 Giới thiệu 58
3.2 Thuật toán đối sánh đa mẫu Aho_Corasick 60
3.3 Thuật toán đối sánh mẫu Boyer_Moore_Horspool 64
3.4 Thuật toán đối sánh nhanh đa mẫu 67
3.4.1 Đặc điểm chính của thuật toán 68
3.4.2 Giai đoạn tiền xử lý 69
3.4.3 Thuật toán 72
3.4.4 Hiệu suất thuật toán 73
3.4.5 Thử nghiệm 74
3.4.6 Các ứng dụng 76
Kết luận 78
Tài liệu tham khảo 79
Trang 43
Lời cám ơn
Trong quá trình học tập cũng như hoàn thành luận văn này, tôi đã nhận được
nhiều sự giúp đỡ của các thầy cô giáo, đồng nghiệp, bạn bè và người thân
Trước hết tôi xin gửi lời cám ơn sâu sắc nhất đến cán bộ hướng dẫn khoa
học, thầy giáo, PGS TS Đoàn Văn Ban người đã giúp tôi định hướng và đưa tôi đến
với lĩnh vực nghiên cứu này, thầy đã giảng dạy, hướng dẫn và giúp đỡ tôi tận tình
trong suốt quá trình học tập và thực hiện đề tài này
Tôi xin bày tỏ lòng cám ơn đến các thầy cô giáo đã giảng dạy tôi trong suốt 2
năm học qua như GS Huỳnh Hữu Tuệ, GS TSKH Nguyễn Xuân Huy, PGS TS Ngô
Quốc Tạo, TS Nguyễn Kim Anh, PGS TS Vũ Đức Thi, … và gửi lời cám ơn đến
các nhà khoa học và còn là các thầy giáo trong ban chủ nhiệm lớp cao học K8T1
như GS VS Nguyễn Văn Hiệu, GS TSKH Bạch Hưng Khang, PGS TS Hồ Sỹ Đàm,
TSKH Phạm Trần Nhu và PGS TS Đỗ Đức Giáo
Tôi cũng muốn gửi lời cám ơn Ban chủ nhiệm, các thầy cô giáo khoa Công
Nghệ, Đại học Quốc Gia Hà Nội, cùng các thầy cô giáo, các bạn đồng nghiệp khoa
Tin học, Trường Đại học Qui Nhơn đã tạo điều kiện thuận lợi và giúp đỡ tôi trong
suốt quá trình học tập
Cuối cùng qua đây, tôi xin gửi đến gia đình, người thân, bạn bè lời cám ơn
sâu sắc nhất, họ thật sự là nguồn động viên vô tận đối với tôi trong cuộc sống
Học viên thực hiện luận văn Nguyễn Thị Kim Phượng
Trang 54
mở đầu
Ngày nay, nhu cầu về thông tin của con người trong cuộc sống rất lớn Trong thực tế, thông tin đáp ứng nhu cầu của con người không chỉ ngày càng nhiều mà còn đa dạng Với sự đa dạng và lượng thông tin khổng lồ hiện nay, con người cần
có sự hỗ trợ của các hệ thống phần mềm để nhận ra và tìm được thông tin chính xác đầy đủ mà con người cần
Đáp ứng nhu cầu đó, người ta đã đưa ra nhiều hình thức cung cấp thông tin, hay nói cách khác có nhiều nguồn cung cấp thông tin theo nhu cầu của con người
Và ngày nay, nguồn cung cấp lượng thông tin vô cùng to lớn và đa dạng đó là Internet Sự phát triển nhanh chóng và không ngừng của Internet đã mang lại một lượng thông tin ngày càng hữu ích, phong phú đa dạng và đầy đủ hơn Đó là một nguồn dữ liệu được tập hợp từ nhiều nơi, nhiều người, nhiều tổ chức khác nhau trên toàn cầu Vì thế, các thông tin đó có mặt rải rác, phân tán khắp nơi, không phân biệt ranh giới địa lý, trải khắp trên toàn cầu Thông tin không những phân tán, phức tạp,
đồ sộ mà còn thuộc nhiều lĩnh vực khác nhau như: quản lí, sản xuất, kinh doanh, giáo dục, nghiên cứu khoa học, vui chơi giải trí,…Và hầu hết các thông tin trên Internet được lưu trữ dưới dạng các tài liệu văn bản Khối lượng và sự đa dạng của thông tin đã mang lại không ít khó khăn trong việc thu thập, chọn lọc thông tin
Để giải quyết vấn đề này, người ta đã xây dựng các hệ thống tìm kiếm thông tin _IRS Công cụ hỗ trợ cho phép người dùng chọn lọc, thu thập thông tin trên Internet là máy tìm kiếm thông tin, chúng trợ giúp tìm và chọn lọc ra những tài liệu
có chứa thông tin cần thiết
Người dùng luôn yêu cầu kết quả tìm kiếm phải chính xác, đầy đủ và với tốc
độ tìm kiếm nhanh Yêu cầu đó được đáp ứng chỉ khi các hệ thống tìm kiếm sử dụng các kỹ thuật, thuật toán hiệu quả, tối ưu nhất
Trang 65
Do vậy, chúng tôi chọn đề tài “Hệ thống tìm kiếm thông tin và thuật toán đối sánh đa mẫu trong hệ thống tìm kiếm” để làm luận văn tốt nghiệp cao học
Luận văn được tổ chức thành 3 chương và phần kết luận
Chương 1: Trình bày tổng quan về hệ tìm kiếm thông tin trên Internet Chương này giới thiệu chung môi trường, sự phát triển của hệ tìm kiếm, các khái niệm, định nghĩa cơ bản và qui trình hoạt động của hệ tìm kiếm cùng một số tiêu chuẩn để đánh giá các hệ tìm kiếm
Chương 2: Giới thiệu chi tiết các kỹ thuật, phân tích, xây dựng và đánh giá hai thành phần cơ bản của hệ tìm kiếm là bộ tìm duyệt và bộ tạo chỉ mục
Chương 3: Trên cơ sở phân tích các cấu trúc cũng như quy trình hoạt động của hệ tìm kiếm trong hai chương trước Chương này tập trung nghiên cứu một số thuật toán đối sánh mẫu trong văn bản Phân tích, cài đặt và đánh giá các thuật toán đối sánh đa mẫu như Aho_Crasick, Boyer Moore_Horspool và đề xuất thuật toán đối sánh nhanh đa mẫu dựa vào hai thuật toán trên để cài đặt vào hệ thống tìm kiếm thông tin
Trang 76
Chương 1 Tổng quan về hệ tìm kiếm
1.1 Internet và dịch vụ World Wide Web
ARPANET được xây dựng với hai giả thiết: một là mạng máy tính không an toàn về mặt thông tin và phải có giải pháp để khắc phục yếu điểm này, hai là mọi máy tính trên mạng đều có khả năng liên lạc với nhau Các thông điệp được chuyển thành các “gói” và các “gói” được gửi đi độc lập với nhau, hoàn toàn không phụ thuộc vào việc phải qua một số trạm định trước, truyền được qua mọi máy tính và hướng đích
Vào những năm 1990, ARPANET gây được nhiều sự quan tâm và trở thành một hệ thống quan trọng, là nền tảng ứng dụng của các hệ thống công cụ nghiên cứu, phương tiện trợ giúp kinh doanh, thương mại ngày nay trở thành mạng Internet
Internet là mạng kết nối hàng trăm mạng trên toàn thế giới, liên kết mọi loại máy tính, liên kết các trường đại học, viện nghiên cứu, chính phủ, các doanh nghiệp thương mại, các tổ chức, các cá nhân khác nhau Và ngày nay, Internet đã có thể kết nối hầu hết các nước trên toàn cầu, có hàng triệu máy chủ khác nhau trên khắp thế giới tham gia vào mạng Internet
Internet ra đời tạo điều kiện cho việc truy cập thông tin và trao đổi thông tin một cách dễ dàng Người dùng có thế khai thác và sử dụng Internet một cách thuận
Trang 87 lợi thông qua các nhiều dịch vụ hỗ trợ được cung cấp như: E-mail (thư diện tử), telnet (thâm nhập mạng từ xa), FPT (truyền tập tin), Usenet (phân nhóm theo loại thông tin quan tâm), đặc biệt là World Wide Web (thường được gọi là Web hoặc WWW) được sử dụng rộng rãi, Hầu hết các ứng dụng trên Internet đều dựa trên
mô hình client/server và kết nối với nhau theo giao thức chuẩn TCP/IP [7]
Internet rộng lớn hơn bất cứ mạng của tổ chức hay cá nhân nào về nhiều mặt
và quan trọng là mạng không bị điều khiển riêng lẻ bởi bất kỳ tổ chức hay cá nhân nào Mạng Internet không chỉ cung cấp một lượng thông tin đầy đủ và nhanh chóng cho chúng ta mà còn là môi trường giao lưu của con người với các hình thức hiện đại, tiện lợi và rất hữu ích trên toàn cầu
1.1.2 World Wide Web
World Wide Web được gọi là WWW hoặc Web là một hệ thống các tài liệu phân tán Các tài liệu này có những phần kết nối đến các tài liệu khác trong cùng một máy hay kết nối với các tài liệu trên các máy khác nhau Web đồng thời là công nghệ cho phép truy cập và xử lý các trang dữ liệu đa phương tiện[6] Sau khi được giới thiệu, Web ngày càng phát triển rộng khắp nơi, được dùng như một hệ thống khai thác cả dạng dữ liệu đa phương tiện trên mạng Một tài liệu Web được gọi là trang gốc hoặc trang Web có thuộc tính đặc trưng cho người dùng tạo nội dung văn bản có cả hình ảnh giống như một trang sách thường có Các trang Web này có những phần kết nối với các trang khác trong cùng một máy hoặc kết nối với các trang khác trên các máy khác Các trang Web không được truy xuất một cách tuần
tự mà được thiết kế để người dùng có thể truy cập đến các mục, các trang có liên quan đến cùng một vấn đề Để truy tìm và xem trang Web, ta thường dùng trình duyệt Web đôi khi còn gọi là Web client Trình duyệt Web được kết nối với các dịch vụ mạng, yêu cầu cung cấp tài nguyên mạng và hiển thị các nội dung mà dịch
vụ mạng cung cấp, có thể được quản lý bởi máy chủ nơi trang Web truy cập hoặc
Trang 98 bởi một máy chủ cách rất xa nơi đó Giao thức được sử dụng để truyền tải các trang Web trên Internet là HTTP
Tìm hiểu một trang Web bằng thao thác nhấp chuột vào liên kết trỏ đến địa chỉ mới từ trang hiện thời là một điều dễ dàng, quen thuộc Trình duyệt Web sẽ cung cấp cho người dùng trang Web mới, và cứ thế trang này lại có thể kết nối với nhiều trang khác Web là một kho thông tin khổng lồ, luôn được cập nhật, chuyển đổi những tư liệu siêu phương tiện do nhiều người, nhiều tổ chức, từ những máy tính khắp nơi trên toàn cầu cung cấp Vì vậy, Web đã nhanh chóng trở thành một phần quan trọng của Internet
Web là công cụ được xây dựng từ những năm 90, với ý tưởng tìm kiếm tri thức và hệ thống tệp, người ta đã phát minh ra hệ thống cửa sổ, chuột và một số đổi mới quan trọng khác trong lịch sử phát triển các thế hệ máy tính Các hệ thống siêu văn bản ngày càng được quan tâm nghiên cứu và hoàn thiện dần Một số siêu văn bản đơn giản được sử dụng rộng rãi và sự ra đời của Web là thể hiện được tính ưu việt trong việc áp dụng vào thực tiễn vì Web có kiến trúc đơn giản và hữu hiệu trên Internet [6]
Là công cụ mới của thời đại thông tin, Web đã và đang trở thành một phương tiện quan trọng trong kinh doanh Còn là nơi các công ty, tổ chức và cả cá nhân trên thế giới có thể quảng bá thông tin về mình có hiệu quả Web là phương thức ứng dụng có hiệu quả với tất cả người dùng trên toàn cầu và cho phép tận dụng tối đa nguồn tài nguyên có hạn
Trang 109
1.2 Khái niệm hệ tìm kiếm
Với sự phát triển mạnh mẽ của công nghệ thông tin trong vài thập kỷ qua, Internet đã dần dần trở thành một bộ phận và là công cụ không thể thiếu được trong đời sống của con người Internet đã đi vào mọi lĩnh vực, mọi vấn đề, mọi ngành nghề của đời sống xã hội, từ việc mua bán hàng hoá, tư vấn sức khoẻ, pháp luật, đến các vấn đề nghiên cứu khoa học chuyên sâu và cả vấn đề phát triển chính Internet
Sự phát triển và mở rộng nhanh chóng kéo theo lượng thông tin trên Internet ngày càng trở nên phong phú, hữu ích và đồ sộ hơn Người dùng hầu như có thể tìm được bất kỳ thông tin gì mà họ cần Nhưng cũng chính lượng thông tin khổng lồ này làm cho người dùng gặp phải vấn đề trong khi tìm kiếm, không biết thông tin mình cần đặt ở đâu? thông tin nào chính xác hơn, xác thực hơn? thông tin nào hữu ích hơn thông tin nào? Từ đó, tìm kiếm và đánh giá thông tin trên mạng Internet trở thành một vấn đề bức xúc và cần thiết, được nhiều công ty, tổ chức, các nhà khoa học và người dùng quan tâm Hệ tìm kiếm (Search Engine) đã được xây dựng, đây chính là công cụ dùng để giải quyết các vấn đề nêu trên
Hệ tìm kiếm là công cụ tin học thực hiện tìm kiếm và sắp xếp thông tin, giúp con người tìm kiếm thông tin cần tìm trên Internet [5]
Các hệ tìm kiếm phải đáp ứng được hai yêu cầu cơ bản: Thông tin tìm được phải thoả mãn mong muốn của người dùng và thời gian tìm kiếm trong kho tàng thông tin đồ sộ Internet phải ở mức có thể chấp nhận được
Hơn nữa, người dùng mong muốn hệ tìm kiếm tìm được thông tin có độ chính xác cao, thoả mãn nhu cầu thông tin của họ Họ cung cấp cho hệ tìm kiếm những thông tin không rõ ràng nhưng yêu cầu kết quả nhận được là thông tin chính xác mà mình mong muốn và có tổ chức Các hệ tìm kiếm ngày càng được phát triển
và hoàn thiện hơn để đáp ứng yêu cầu đó
Trang 1110
1.3 Cấu trúc cơ bản hệ tìm kiếm
Trong thực tế, mỗi hệ tìm kiếm lại có một số điểm riêng của chúng, tuy nhiên về cơ bản vẫn dựa trên các bộ phận cơ bản được mô tả như trong hình1[5]
Hình 1 Cấu trúc cơ bản hệ tìm kiếm
Các hệ tìm kiếm hiện nay sử dụng kiến trúc có hai thành phần chính: Bộ tìm duyệt (Crawler) và Bộ tạo chỉ mục (Indexer)
Bộ tìm duyệt: Hầu hết các hệ tìm kiếm hoạt động dựa vào các bộ tìm duyệt, đây là các chương trình có kích thước nhỏ đảm nhận chức năng cung cấp dữ liệu (các trang Web) cho hệ tìm kiếm hoạt động Bộ tìm duyệt thực hiện việc duyệt Web Hoạt động của bộ này tương tự như hoạt động của con người khi truy cập Web là dựa vào các mối liên kết để đi từ trang Web này đến trang Web khác
Bộ tạo chỉ mục: Thực hiện việc khảo sát tất cả các từ khoá trong từng trang Web có trong kho trang Web, và ghi lại địa chỉ URL của các trang Web có chứa mỗi từ Kết quả sinh ra một bảng chỉ mục rất lớn (thực tế bảng chỉ mục giới hạn trong các trang Web đã qua bộ tìm duyệt) Nhờ có bảng chỉ mục này, hệ tìm kiếm
Trang 1211 cung cấp tất cả các địa chỉ URL của các trang Web khi có yêu cầu: khi cho từ khoá bất kỳ thì qua bảng chỉ mục, hệ tìm kiếm sẽ nhận được tất cả các địa chỉ URL của các trang Web chứa từ khoá đó Dữ liệu được tạo chỉ mục dùng cho việc tìm kiếm nhanh chóng và chính xác
Bộ phân tích tập: Hoạt động dựa vào thuộc tính của bộ truy vấn Nếu bộ truy vấn chỉ yêu cầu tìm kiếm giới hạn trong một số Website hoặc giới hạn trong một tên miền thì công việc sẽ nhanh và hiệu quả hơn Những việc như thế được thực hiện bởi bộ phân tích tập
Làm việc với bộ tìm duyệt và bộ tạo chỉ mục là hệ thống cơ sở dữ liệu của hệ tìm kiếm Tuỳ theo thiết kế của mỗi hệ tìm kiếm mà cơ sở dữ liệu có độ phức tạp khác nhau và được chia thành các phần khác nhau Nhìn chung, mọi hệ tìm kiếm đều có các cơ sở dữ liệu sau:
+ Cơ sở dữ liệu về các URL
+ Cơ sở dữ liệu về các tài liệu trước và sau khi đã chuyển đổi khuôn dạng + Cơ sở dữ liệu về dữ liệu đã được đánh chỉ mục
+ Cơ sở dữ liệu phục vụ các mục đích đặc biệt, chẳng hạn như lập lịch thu thập URL, các từ không được tạo chỉ mục, các từ đồng nghĩa, các từ gốc,
Đặc điểm của hệ tìm kiếm được sử dụng trên Internet, cùng một lúc có nhiều người sử dụng và đồng thời thực hiện nhiều công việc khác nhau nên cơ sở dữ liệu cũng như chương trình truy vấn cơ sở dữ liệu phải được thiết kế sao cho có thể đáp ứng được điều này Người ta đã sử dụng cơ chế phân chia dữ liệu thành các thành phần nhỏ để tăng tốc độ truy vấn Từ các chỉ mục được chia vào các kho chứa khác nhau và các kho chứa được đánh địa chỉ Cùng một thời điểm có thể có nhiều kho chứa được truy cập
Ngoài hai thành phần chính là bộ tạo chỉ mục và bộ tìm duyệt, hệ tìm kiếm còn có các thành phần khác như: giao diện với người dùng, quản lý các câu lệnh
Trang 1312 truy vấn, sắp xếp kết quả trả về cho người sử dụng, chuyển đổi khuôn dạng tài liệu,
Giao diện với người dùng: là một công cụ tin học, nên hệ tìm kiếm cũng không thể thiếu phần giao diện với người dùng.Với tính chất của hệ tìm kiếm làm việc trên Internet cùng lượng thông tin, dữ liệu đa dạng và phức tạp nên giao diện với người dùng cũng phải được thiết kế đặc biệt Giao diện với người dùng không chỉ làm việc tốt với các modul của hệ tìm kiếm mà còn dễ sử dụng và đạt hiệu quả trực quan cao Hầu hết, người dùng tìm kiếm thông tin trên Internet thông qua các hình thức duyệt nên giao diện nhận yêu cầu truy vấn và giao diện trả kết quả tìm kiếm được thiết kế sử dụng khuôn dạng file.html Để tăng tính tương tác và thuận tiện cho việc xử lý dữ liệu, các file này cũng có thể sử dụng các công nghệ mới như Java, XML, Flash,
Nhiều kỹ thuật được sử dụng để nhận các câu truy vấn từ người dùng và chúng được chia thành hai nhóm: nhóm có tương tác với người dùng và nhóm không tương tác với người dùng
- Nhóm có tương tác với người dùng: hệ tìm kiếm đưa ra một số câu hỏi đơn giản để người dùng trả lời, thông thường người dùng trả lời bằng cách chọn một trong số các câu trả lời có sẵn
- Nhóm không tương tác: người dùng đưa thông tin vào hệ tìm kiếm và ra lệnh tìm kiếm
Trong phần giao diện với người dùng, quan trọng nhất là kết quả tìm kiếm,
và một số kỹ thuật thường được sử dụng để trả kết quả tìm kiếm cho người dùng
+ Hiển thị kết quả tìm được ở dạng siêu liên kết Khi người dùng chọn một trong các kết quả tìm được thì trình duyệt sẽ kết nối đến địa chỉ URL đã tìm ra Nếu chỉ dùng một kỹ thuật này thì thông tin kết quả rất ít và khó cho người dùng lựa chọn nếu có nhiều kết quả trả về
Trang 1413 + Hiển thị kết quả trả về bằng một hoặc nhiều dòng text nội dung tìm thấy trong tài liệu Với kích thước của màn hình chỉ có thể hiển thị 10 kết quả một lúc, người dùng phải dùng thanh cuốn hoặc chọn chỉ dẫn sang trang khác để xem kết quả tiếp theo
+ Hiển thị số lượng kết quả tìm thấy, thông tin về số lượng kết quả giúp người dùng quyết định có nên thu hẹp hay mở rộng phạm vi tìm kiếm
+ Hiển thị mức độ tương tự của tài liệu tìm thấy so với yêu cầu tìm kiếm Để trực quan, độ tương tự không những thể hiện qua con số (%) mà còn có thể bằng các hình ảnh đi kèm
+ Hiển thị từ khoá thực sự tìm thấy trong tài liệu để người sử dụng quyết định đây có phải là tài liệu mình cần tìm hay không Kỹ thuật này đặc biệt hữu dụng trong trường hợp người dùng đưa vào từ khoá không chính xác
1.4 Cơ chế hoạt động chung của hệ tìm kiếm
ứng với hai thành phần chính của hệ tìm kiếm là bộ tìm duyệt và bộ tạo chỉ mục, cơ chế hoạt động của hệ tìm kiếm cũng được chia thành hai hoạt động cơ bản: thu thập thông tin và phân loại và tạo chỉ mục thông tin [14]
Khi muốn tìm kiếm một trang Web nào đó, người dùng đưa vào một số từ khoá mà họ cho là có liên quan đến vấn đề cần quan tâm (gọi là từ khoá tìm kiếm)
Bộ truy vấn dựa theo từ khoá tìm kiếm và tìm trong bảng chỉ mục (URL đã có trong
cơ sở dữ liệu về URL của hệ tìm kiếm) địa chỉ các trang Web có chứa từ khoá tìm kiếm Từ các URL xuất phát, bộ tìm duyệt tìm đến các máy chủ chứa trang Web của các địa chỉ này để lấy về các trang Web tương ứng và cung cấp các URL kết quả cho bộ điều khiển tìm duyệt
Bộ điều khiển tìm duyệt sẽ quyết định URL nào sẽ được tìm duyệt tiếp theo
và gửi lại kết quả quyết định cho bộ tìm duyệt (trong một số hệ tìm kiếm, bộ tìm duyệt thực hiện cả chức năng của bộ phận điều khiển tìm duyệt) Sau đó bộ tìm duyệt gửi các trang Web đó đến bộ tạo chỉ mục, sử dụng các công cụ hỗ trợ trích lọc
Trang 1514 thông tin từ các trang Web, phân tích, xử lý như chuyển đổi khuôn dạng, phân loại thông tin, và chúng được bộ tạo chỉ mục tạo chỉ mục đưa các địa chỉ URL mới vào cơ sở dữ liệu về URL (còn gọi là kho trang Web) Bộ tạo chỉ mục thực hiện việc khảo sát các từ khoá trong từng trang Web có trong kho trang Web và ghi lại các địa chỉ URL của các trang Web có chứa mỗi từ, kết quả sinh ra một bảng chỉ mục rất lớn
Trang 16Web multimedia Download
Có tài liệu mới? Web pages
Text Audio/Image/Video Các kỹ thuật xử
lý tài liệu (Classifying Filltering Indexing,…)
Các kỹ thuật xử lý tài liệu (Classifying Filltering Indexing, Transforming…)
Các cơ chế tìm kiếm (Filltering/Approximate/Matching/Fuzzzy/…
Cơ sở dữ liệu
Yêu cầu tìm kiếm Query Interface
Text/Image/Audio/Video Hình 2 Cơ chế hoạt động chung của hệ tìm kiếm
Người sử dụng
Câu hỏi tìm kiếm
Trang 1716
Thực tế, bảng chỉ mục giới hạn trong số các Web đã qua bộ tìm duyệt, nhờ
có bảng chỉ mục này, hệ tìm kiếm cung cấp tất cả các địa chỉ URL của trang Web khi có yêu cầu Việc tạo chỉ mục thủ công là con người đọc các tài liệu và xác định xem tài liệu nào, thậm chí những từ khoá nào sẽ được tạo chỉ mục Ví dụ như Yahoo, thay bằng việc bộ tìm duyệt tìm kiếm các site và trả lại các thông tin thì những người tạo chỉ mục sẽ tự đọc các tài liệu này Nếu một site nào đó có các thông tin phù hợp với các sự phân loại của Yahoo thì site đó sẽ được index và đưa vào mục phân loại Như vậy, việc phân loại là cảm tính nhưng khá chính xác ở mức
độ rộng (phân loại cả site) còn ở mức chi tiết từng tài liệu không thể làm được do số lượng tài liệu là quá lớn
Chỉ mục tự động là sử dụng các giải thuật, các phần mềm để trích lọc thông tin và tạo chỉ mục cho các tài liệu Đây là một phương pháp chiếm ưu thế trong vấn
đề xử lý và tìm kiếm tài liệu trên Internet Hệ tìm kiếm có một phần gọi là bộ tìm duyệt (hay còn gọi là spider, robot) tự động gửi yêu cầu đến các site trên Internet để lấy về các tài liệu một cách tự động, làm việc không ngừng ngày cũng như đêm Các tài liệu sau khi lấy về được tự động trích lọc thông tin và tạo chỉ mục Mỗi một
bộ tạo chỉ mục như vậy thường tạo chỉ mục từ 3 đến 10 triệu trang web mỗi ngày Ngoài một số bộ tìm duyệt tìm kiếm các tài liệu một cách ngẫu nhiên, đa số các bộ tìm duyệt khác lấy thông tin từ các trang Web đã được tạo chỉ mục trước đó để lấy
về các trang tiếp theo hoặc sử dụng những chỉ dẫn bởi người quản trị hệ tìm kiếm để tìm kiếm [14]
Chú ý rằng các bộ tìm duyệt chỉ lấy và lưu trữ một phần trang Web vào cơ sở
dữ liệu tại thời điểm đó Điều đó có nghĩa là khi người dùng đưa ra một câu hỏi tìm kiếm thì hệ tìm kiếm chỉ tìm kiếm trên phần dữ liệu mà có nó Chỉ khi người dùng chọn một trang Web cụ thể từ kết quả tìm kiếm thì lúc đó họ mới truy nhập được vào tài liệu Điều này giải thích tại sao một số liên kết trong kết quả tìm kiếm là không có giá trị và thể hiện tầm quan trọng của việc hệ tìm kiếm cập nhật lại dữ liệu của mình
Trang 1817
Do hạn chế về mặt tốc độ và thời gian nên có những giới hạn đối với các hệ tìm kiếm Chẳng hạn như bộ tìm duyệt của Excite các thông tin mà nó có thể lấy về trong 30 giây cho một tài liệu Sau đó, bộ tìm duyệt tiếp tục đi thăm dò các trang Web khác trên Inetrnet cho đến khi nguồn chứa (phạm vi tìm kiếm) cạn kiệt Bộ truy vấn chịu trách nhiệm nhận các yêu cầu của người dùng, bộ phận này hoạt động thường xuyên dựa vào bảng chỉ mục và kho dữ liệu Với lượng các trang Web rất lớn, thực tế người dùng đưa vào một hoặc vài từ khoá nên tập kết quả thường rất lớn Vì thế, bộ truy vấn chuyển tập các trang Web kết quả cho bộ xếp hạng để sắp xếp các kết quả theo thứ tự giảm dần về độ liên quan đến vấn đề mà người dùng quan tâm, cuối cùng hiển thị kết quả cho người dùng
Việc tạo chỉ mục cho hệ thống Web thực sự khó khăn do kích thước quá lớn của hệ thống Web cũng như sự thay đổi nhanh chóng của Web và tính phức tạp trong dữ liệu Web Vì thế có ít cách tạo chỉ mục chung, thường bộ tạo chỉ mục tạo
ra chỉ mục nội dung, chỉ mục cấu trúc hoặc một số loại chỉ mục tiện ích Tạo chi mục nội dung, bộ tạo chỉ mục phải phân tích nội dung trang Web và chiết ra các từ xuất hiện trong đó Để xây dựng chỉ mục cấu trúc (ứng với các siêu liên kết), bộ tạo chỉ mục sẽ tạo ra một mô hình dạng đồ thị gồm các nút và các cung Mỗi nút trong
đồ thị tương ứng là một trang Web, còn mỗi cung nỗi từ nút A đến nút B tương ứng
là siêu liên kết từ trang Web A đến trang Web B Việc lưu trữ cho phép dễ dàng thay đổi các địa chỉ mục cấu trúc để có thể cập nhật được thông tin về sự thay đổi không ngừng của siêu liên kết trong các trang Web Vậy, chỉ mục cấu trúc là chỉ mục phản ánh mối liên kết giữa các trang Web, và việc tạo ra chỉ mục này cho phép sử dụng đặc tính quan trọng của dữ liệu Web là có chứa các siêu liên kết
Bộ phân tích tập: Hoạt động dựa vào thông tin của bộ truy vấn Nếu bộ truy vấn chỉ yêu cầu tìm kiếm hạn chế trong một số web site đặc biệt, hoặc giới hạn trong một miền thì công việc sẽ nhanh và hiệu quả hơn Khi phải xây dựng một bảng chỉ mục các Web site mà trong đó có kết nối, mỗi tên miền đến một danh sách các trang Web thuộc miền đó Thực hiện những việc như thế là do bộ phân tích tập
Bộ phân tích tập sử dụng thông tin từ hai loại chỉ mục cơ bản (chỉ mục nội dung và
Trang 1918 chỉ mục cấu trúc) do bộ tạo chỉ mục cung cấp cùng với thông tin từ khoá trang Web, và các thông tin được sử dụng bởi phương pháp tính hạng để tạo ra các chỉ mục tiện ích
Ngoài ra, Internet phát triển và thay đổi không ngừng, các trang Web mới xuất hiện, các trang Web cũ loại bỏ nên hệ tìm kiếm cần cập nhật liên tục Để tăng hiệu suất truy cập, các hệ tìm kiếm có thể có nhiều bộ tìm duyệt, hoạt động theo kỹ thuật đa luồng, sử dụng kỹ thuật này, nhiều địa chỉ URL, nhiều site khác nhau có thể được truy cập động thời Có hai cơ chế có thể được thực hiện trong việc truy cập các trang Web là theo chiều rộng và theo chiều sâu Cơ chế truy cập theo chiều rộng là bộ tìm duyệt tìm đến tất cả các trang Web có địa chỉ được chỉ ra trong trang hiện thời Các địa chỉ này có thể thuộc nhiều site khác nhau Cơ chế này cho phép
hệ tìm kiếm có thể cập nhật thông tin bị thay đổi trên Internet nhanh chóng, trải rộng trên nhiều lĩnh vực, tốc độ truy cập ổn định Cơ chế truy cập theo chiều sâu:
Bộ tìm kiếm xác định địa chỉ của một site và truy cập hết các trang Web của site này cho đến khi không thể truy cập được nữa sau đó mới chuyển sang site khác Cơ chế này cho phép hệ tìm kiếm cập nhật sâu lĩnh vực mà các site cung cấp Tốc độ truy cập phụ thuộc tốc độ đường truyền và khả năng đáp ứng của từng site
Tuy có cùng một cơ chế hoạt động là thao tác trên dữ liệu đã được thu thập nhưng mỗi hệ tìm kiếm có một cách thức và kỹ thuật thực hiện khác nhau Vì thế, các hệ tìm kiếm được phân ra một số loại
1.5 Phân loại các hệ tìm kiếm
Hiện nay, có khá nhiều hệ tìm kiếm được ứng dụng trên Internet [12], mỗi loại dùng công nghệ tìm kiếm khác nhau Shi Naisi phân chia thành 6 loại công nghệ khác nhau là Hyperlink Exploration, Information Retrieval, Metasearch, SQL Approach, Conten-based Multimedia Search và các loại khác ở đây, hệ tìm kiếm chia ra làm 2 loại chính theo phương pháp tìm kiếm: Tìm kiếm thông thường và siêu tìm kiếm
Trang 2019
1.5.1 Tìm kiếm thông thường
Đây là các hệ tìm kiếm phục vụ yêu cầu tìm kiếm theo đúng ý tưởng nguyên thuỷ của nó: Thu thập tài liệu và phân loại, tạo chỉ mục [12] Chúng bao gồm các loại:
a) Các hệ tìm kiếm sử dụng thư mục chủ đề
Các thư mục chủ đề là một hình thức phân loại các site trên Internet theo chủ
đề và theo các cấp chi tiết hơn của chủ đề Cấp chủ đề cấp thấp nhất thường là một chuyên ngành hay một lĩnh vực rộng Các chủ đề cấp cao hơn là chủ đề hẹp của cấp chủ đề trên nó Cấp chủ đề cuối cùng sẽ chỉ đến tài liệu cụ thể Các thư mục chủ đề thường được tạo ra bởi con người, trong đó con người đọc và phân loại tài liệu Việc phân loại này cho phép người dùng chọn một trong các chủ đề để truy cập và khi đó các trang Web sẽ hiển thị theo loại chủ đề mà người dùng đã chọn Người dùng tìm kiếm thông tin mà mình cần bằng cách chọn một chủ đề nào đó, sau đó đi sâu vào chủ đề đó để đến chủ đề cấp thấp hơn, thu hẹp phạm vi tìm kiếm, cho đến khi tìm thấy chủ đề cụ thể cần tìm và các tài liệu trong chủ đề đó Kiểu tìm kiếm này giống như tìm kiếm file trong thư mục Ví dụ: sử dụng Yahoo, nếu người dùng muốn tìm kiếm các tài liệu về các bài giảng toán học, họ phải đi qua các cấp chủ đề
„arts and humanities‟, „government and education‟ Khi chọn chủ đề „education‟ sẽ
có 35 chủ đề cấp cuối cùng là (cấp lá) là „higher education‟, „magzines‟, „teaching‟,
„math‟, Chọn chủ đề „math‟ sẽ có các tài liệu về các bài giảng toán học
Do được tạo bởi con người nên thư mục chủ đề thường chính xác hơn và có
cơ sở dữ liệu nhỏ hơn cơ sở dữ liệu của các hệ tìm kiếm sử dụng công nghệ phân loại tự động
b) Các hệ tìm kiếm phân loại và tạo chỉ mục tài liệu tự động
Các hệ tìm kiếm phân loại tài liệu tự động sau khi thu thập tài liệu, dựa vào các từ khoá tìm thấy trong tài liệu và khuôn dạng của tài liệu để phân loại và tạo chỉ mục tài liệu một cách tự động Khi có yêu cầu tìm kiếm, hệ tìm kiếm sử dụng công
Trang 2120 nghệ tìm kiếm trên tạo chỉ mục để xác định tài liệu nào có độ liên quan nhiều hơn tới yêu cầu để trả kết quả cho người dùng
Với cách phân loại và tạo chỉ mục tự động, thời gian tìm kiếm tài liệu trên các hệ tìm kiếm này thường nhanh hơn nhưng kết quả trả về khá nhiều và độ chính xác không cao bằng cách phân loại theo chủ đề [12]
Tuy vậy, để so sánh giữa hệ tìm kiếm sử dụng thư mục chủ đề và hệ tìm kiếm loại này, hệ tìm kiếm loại nào thích hợp cho việc tìm kiếm hơn, bởi điều đó phụ thuộc nhiều vào sở thích của người dùng và nhu cầu kết quả nhận về Một số người dùng thích sử dụng hệ tìm kiếm sử dụng thư mục chủ đề hơn vì họ có thể điều khiển được thông tin tìm kiếm của họ; Hơn nữa, các thư mục chủ đề cho phép người dùng xem và đoán được kết quả tìm kiếm sẽ nhận được Còn hệ tìm kiếm phân loại và tạo chỉ mục tự động tìm kiếm tài liệu ở phạm vi rộng hơn nhiều so với loại kia Bên cạnh đó, loại này có yếu điểm là phụ thuộc vào mô tả chủ quan của người phân loại tài liệu Nếu sự mô tả và phân loại này không rõ ràng, chính xác thì người dùng khó có thể tìm thấy tài liệu họ cần Vì thế, hệ tìm kiếm sử dụng thư mục chủ đề thường được sử dụng để tìm kiếm các thông tin chung chung Và điểm mạnh cũng là điểm yếu của hệ tìm kiếm phân loại, tạo chỉ mục tự động là số tài liệu tìm thấy rất lớn, có khi lên đến hàng nghìn tài liệu Người dùng dễ gặp khó khăn khi phải xử lý một lượng thông tin quá lớn
1.5.2 Siêu tìm kiếm
a) Cấu trúc của siêu tìm kiếm [14]
Cùng một yêu cầu tìm kiếm, các hệ tìm kiếm khác nhau trả về các kết quả khác nhau, vì các thông tin, tài liệu mà mỗi hệ tìm kiếm thu thập được không hoàn toàn giống nhau và cơ chế tìm kiếm trên các tài liệu đã được đánh chỉ mục của chúng cũng khác nhau Vậy, để tìm được nhiều tài liệu ta nên tìm trên nhiều hệ tìm kiếm khác nhau, người dùng phải tìm hiểu nhiều hệ tìm kiếm và mất nhiều thời
Trang 2221 gian Các siêu tìm kiếm được tạo ra có thể khắc phục nhược điểm trên của các hệ tìm kiếm thông thường
Siêu tìm kiếm cũng là một công cụ tìm kiếm thông tin trên Internet, chúng làm nhiệm tìm kiếm thông tin trên chính các hệ tìm kiếm và trên các thư mục tại cùng một thời điểm để tìm ra các tài liệu phù hợp nhất từ các kết quả tìm được Có một vài siêu tìm kiếm điển hình như Search.com, Metacrawler.com, Thực chất siêu tìm kiếm là một công cụ chuyển đổi câu truy vấn của người dùng sang khuôn dạng phù hợp để cho các kết quả trả về từ các hệ tìm kiếm đó
b) Cơ chế hoạt động của siêu tìm kiếm
Cơ chế hoạt động của siêu tìm kiếm tương đối đơn giản hình 4 [14] Chúng giao tiếp với người dùng qua một giao diện thống nhất, đơn giản Người dùng nhập
Giao diện với NSD Hình 3 Mô hình chung của các Metasearch Engine
INTERNET
(Google, Altavista, )
Nhận kết quả Gửi yêu cầu
Yêu cầu tìm kiếm Kết quả
Trang 2322 vào yêu cầu tìm kiếm, siêu tìm kiếm phân tích yêu cầu, chuyển các yêu cầu này đến siêu tìm kiếm khác Sau đó, thu nhận kết quả, phân loại và tổng hợp chúng thành một danh sách duy nhất Cuối cùng, siêu tìm kiếm trả kết quả đó cho người dùng, và điều thuận tiện ở đây người dùng không phải nhớ nhiều địa chỉ của hệ tìm kiếm trong khi nhận được kết quả đầy đủ, chính xác hơn trong một thời gian ngắn
Siêu tìm kiếm phải hiểu được khuôn dạng câu lệnh tìm kiếm cũng như đặc điểm của mỗi hệ tìm kiếm mà chúng gửi yêu cầu Việc chuyển đổi các lệnh tìm kiếm của người dùng sang các khuôn dạng thích hợp chỉ là một nửa công việc Siêu tìm kiếm còn nhận kết quả trả về từ các hệ tìm kiếm, đối chiếu kết quả và tổng hợp chúng Đây là một việc khó bởi mỗi hệ tìm kiếm có một cách phân loại khác nhau, một cách lưu địa chỉ URL khác nhau, các địa chỉ đó tưởng chừng như khác nhau nhưng thực tế có thể dẫn đến cùng một trang Web
Người sử dụngnhập yêu cầu tìm kiếm
Định dạng lại các yêu cầu
Nhận kết quả trả về Download các tham chiếu
Download các kết quả?
No
Đối chiếu các kết quả
Yes
Trang 2423
Trang 2524
Vì thế cần phải loại bỏ các trang Web trùng, đây cũng là một việc không đơn giản, bởi các máy chủ có thể có nhiều tên định danh, các biểu tượng liên kết khác nhau, Khi có hai địa chỉ URL, đầu tiên siêu tìm kiếm kiểm tra tên miền có giống nhau hay không? Nếu giống nhau, chúng kiểm tra tiếp các địa chỉ có phải là định danh của nhau hay không? Và nếu khác nhau thì chúng kiểm tra tiếp các tiêu đề của tài liệu Nếu cùng tiêu đề, các địa chỉ URL được coi có cùng định danh sẽ được đặt cạnh nhau hoặc xoá bớt Hiện hay, chưa có hệ tìm kiếm hoặc siêu tìm kiếm nào phân biệt được các trang tài liệu là bản sao của nhau để loại bỏ kết quả trả về ngoài cách tải về và so sánh đầy đủ nội dung
Siêu tìm kiếm sử dụng một thang điểm gọi là điểm tin cậy để xác định mức
độ chính xác của tài liệu tìm thấy so với yêu cầu tìm kiếm Tài liệu có độ tin cậy lớn hơn sẽ thoả mãn yêu cầu tìm kiếm của người dùng nhiều hơn, do đó, chúng sẽ được xếp trên cùng Để tính điểm tin cậy cho mỗi tham chiếu (URL), siêu tìm kiếm gán các tài liệu trả về bởi từng hệ tìm kiếm các điểm từ 0 đến 1000 Sau đó, các siêu tìm kiếm đánh giá các tài liệu trùng lặp và gán các tài liệu trùng nhau số điểm bằng tổng số điểm của chúng Như vậy, các tài liệu mà được trả về từ nhiều hệ tìm kiếm thì tổng điểm càng cao Cuối cùng, siêu tìm kiếm sắp xếp các tài liệu theo tổng điểm
và trả về cho người dùng
1.6 Một số vấn đề liên quan đến hệ tìm kiếm
Sự phát triển của hệ tìm kiếm đã chuyển từ lĩnh vực nghiên cứu sang lĩnh vực thương mại hoá Ngày nay, hầu hết các hệ tìm kiếm đã được thương mại hoá, thuộc bản quyền của các công ty, nên các thông tin về kỹ thuật không được công bố công khai Hai vấn đề chính cần quan tâm trong việc tìm kiếm thông tin là: Thu nhập thông tin và tìm được thông tin gì trong số thông tin thu nhập được
Việc thu nhập thông tin từ các Web site khác nhau trên Internet liên quan đến các điều sau [1]:
Trang 26- Lượng dữ liệu khổng lồ: Khối lượng dữ liệu có thể được thêm vào hay xoá
đi một cách dễ dàng và không ngừng được bổ sung hàng ngày hàng giờ Ngoài lượng dữ liệu văn bản còn có một lượng dữ liệu đa phương tiện (ảnh, âm thanh, video) lớn hơn gấp nhiều lần
- Dữ liệu có cấu trúc khác nhau và dư thừa: Thông tin được đưa lên mạng không nhất thiết ở dạng siêu văn bản, mà có nhiều kiểu dữ liệu có cấu trúc khác nhau, đến mức có thể xem chúng là không cấu trúc, và không cần thiết phải đảm bảo tính nhất quán và toàn vẹn dữ liệu nào Và cũng do sự trùng lặp, dư thừa dữ liệu
đã làm tăng lượng dữ liệu trên mạng
- Chất lượng dữ liệu: Dữ liệu trên Internet không đồng nhất, chúng được đưa lên với các khuôn dạng khác nhau, với các môi trường khác nhau và với các ngôn ngữ khác nhau,
- Dữ liệu động: Rất nhiều thông tin trên Web được thay đổi một cách tự động, nội dung của chúng có thể thay đổi tuỳ theo hành động của người dùng
- Mã ký tự _ngôn ngữ khác nhau: Hiện nay, hầu như các trang Web được sử dụng Anh ngữ, chẳng hạn như Google, AltaVista, Excite Còn có một số quốc gia xây dựng các hệ tìm kiếm với đặc thù của riêng mình và sử dụng ngôn ngữ của quốc gia họ như Nhật Bản, Trung Quốc: http://www.chinese.yahoo.com,
http://www.yahoo.co.jp Bên cạnh đó, các hệ tìm kiếm mà người sử dụng nhập vào một dòng văn bản như các từ khoá cần tìm, còn có hệ tìm kiếm đưa ra các câu hỏi
và người dùng chỉ cần trả lời như Ask Jeeves, Việc xây dựng một hệ tìm kiếm cho tất cả các ngôn ngữ là vấn đề rất khó, mặc dù đã có hỗ trợ nhiều ngôn ngữ khác nhau nhưng thực chất là tìm kiếm độc lập và tách thành các phần riêng biệt
Trang 27- Trả về kết quả tìm được: hệ tìm kiếm cần phải trả về các thông tin tìm được trong một khuôn dạng thích hợp để người dùng có thể xác định được tài liệu mà họ mong muốn Các hệ tìm kiếm tốt còn có thể đánh giá và sắp xếp kết quả theo một vài chỉ tiêu nào đó
1.7 Liên kết các câu lệnh truy vấn
Các câu lệnh truy vấn đối với hệ tìm kiếm được hiểu chung là các thông tin yêu cầu tìm kiếm được người dùng đưa vào Cấu trúc của hệ tìm kiếm, đặc biệt là
bộ tạo chỉ mục có quan hệ chặt chẽ với việc quản lý các câu lệnh truy vấn Mỗi mô hình hệ tìm kiếm thường thích hợp với một kiểu câu lệnh truy vấn xác định Tuy vậy, do yêu cầu thực tế của người dùng và do ngôn ngữ tự nhiên của người dùng, các hệ tìm kiếm thường đáp ứng nhiều kiểu câu lệnh truy vấn khác nhau [1]
1.7.1 Liên kết các câu lệnh truy vấn
Liên kết các câu lệnh truy vấn là cách chuyển đổi các yêu cầu của người dùng sang dạng mà hệ tìm kiếm có thể hiểu được Mức đầu tiên liên quan đến khuôn dạng các thông tin, thường là các từ mà người dùng đưa vào Đó là các câu hỏi hoặc danh sách các từ được nhập vào với các liên kết, ràng buộc khác nhau Mức tiếp theo là hệ tìm kiếm cần phải chuyển những từ này thành các thẻ Mức này cần phải kiểm tra khuôn dạng, kiểm tra chính tả, Cuối cùng, mức 3 là hệ tìm kiếm
sử dụng các thẻ này để tìm kiếm tài liệu Mức xử lý câu lệnh truy vấn hình 6
Trong thực tế, người dùng làm việc theo kinh nghiệm và kỹ năng của họ, có thể đưa vào các lệnh truy vấn theo nhiều cách khác nhau như kết hợp các từ nhờ vào các toán tử logic; theo dạng câu hỏi của ngôn ngữ tự nhiên; hoặc danh sách các từ
Trang 2827 liờn tiếp; Vấn đề nảy sinh là hệ tỡm kiếm khụng thể chấp nhận tất cả cỏc kiểu truy vấn khỏc nhau được.
Cỏc cõu lệnh truy vấn sử dụng toỏn tử logic AND, OR, NOT, tất nhiờn khụng thể được xử lý như tất cỏc cõu lệnh truy vấn với ngụn ngữ tự nhiờn Chớnh vỡ vậy, cỏc hệ tỡm kiếm chỉ hỗ trợ một vài kiểu cõu lệnh truy vấn xỏc định và buộc người dựng phải học cỏch thức nhập thụng tin yờu cầu Sau đõy là những kiểu truy vấn được sử dụng rộng rói nhất
Mức 1 Ng-ời sử dụng nhập vào thông tin yêu cầu với một
định dạng nào đó
Câu lệnh truy vấn:
banking + book + account
Mức 2 Search Engine chuyển từ các truy vấn này thành các thẻ (token)
Các thẻ:banking, book, account
Gốc từ: bank
Mức 3 Các thẻ đ-ợc sử dụng để tìm các tài liệu t-ơng ứng
Các tài liệu trả về chứa một trong các từ:bank, book, account
Hình 5 Mức xử lý các câu lệnh truy vấn
Trang 2928
1.7.2 Truy vấn sử dụng toán tử logic
Các câu lệnh truy vấn sử dụng toán tử logic là các câu lệnh sử dụng các toán
tử AND, OR, NOT để liên kết các từ Nếu người dùng muốn tìm kiếm các tài liệu
có chứa cả 2 từ „tiềm kiếm‟ và „thông tin‟ thì câu lệnh nhập vào sẽ là „tìm kiếm AND thông tin‟, nếu chỉ cần tìm các tài liệu hoặc là chứa một trong các từ tìm kiếm
đó thì câu lệnh nhập vào sẽ là „tìm kiếm OR thông tin” Truy vấn sử dụng toán tử logic cho phép mở rộng hay thu hẹp phạm vi tìm kiếm một cách dễ dàng Điểm yếu của chúng là không phải người dùng nào (trừ những nhà toán học-tin học) cũng có thể sử dụng thành thạo toán tử Boolean mặc dù chúng rất đơn giản
1.7.3 Truy vấn sử dụng ngôn ngữ tự nhiên
Truy vấn sử dụng ngôn ngữ tự nhiên là các truy vấn mà người dùng đưa yêu cầu vào thông qua các câu hỏi hay trả lời các câu hỏi mà hệ tìm kiếm đưa ra Ví dụ
“Tài liệu nào có chứa thông tin về lĩnh vực ngân hàng”, hay “Bạn tìm tài liệu thuộc lĩnh vực nào dưới đây?” Để xử lý các câu lệnh truy vấn sử dụng ngôn ngữ tự nhiên,
hệ tìm kiếm phải phân tích câu lệnh, xác định các từ nào trong truy vấn có trong dữ liệu index, từ nào là các từ không cần thiết tìm kiếm Kiểu truy vấn này thuận tiện cho người dùng nhưng khó cho máy tính xử lý bởi máy tính khó xác định được ý nghĩa của từ trong một ngữ cảnh cụ thể
1.7.4 Truy vấn sử dụng từ điển
Truy vấn sử dụng từ điển là kiểu truy vấn mà người dùng chọn các từ truy vấn từ một tập các từ xác định trước bởi hệ tìm kiếm Kiểu truy vấn này thường được sử dụng để tìm kiếm một chuyên ngành hẹp với các thuật ngữ của ngành đó Lợi ích của kiểu truy vấn này là bước xử lý đầu tiên đã được làm tự động cho người dùng Do đó, người dùng không cần biết từ mình chọn có phải là từ tốt nhất cho tìm
Trang 3029 kiếm hay không Hơn nữa, hệ tìm kiếm có thể bổ sung, gợi ý các thuật ngữ mới mà người dùng chưa biết hoặc chưa nghĩ đến
1.7.5 Truy vấn với thông tin không chính xác
Khái niệm truy vấn với thông tin không chính xác có ý nghĩa tương tự như khái niệm chính xác thông thường Theo đó, câu lệnh truy vấn có các từ khoá được hiểu theo nghĩa này hay nghĩa khác, từ này hay từ khác Truy vấn không chính xác cho phép xử lý vấn đề lỗi chính tả, so sánh với các từ “bank”, “banking”, ”banker”
có cùng một gốc từ “bank”, vì vậy, chúng có thể được xử lý như nhau Hay khi muốn tìm tài liệu có chứa từ “information retrieval”, nếu người sử dụng gõ sai là
“infomration retrieval” (đảo chữ r và m) thì hệ thống vẫn có thể tìm ra chính xác từ này
Với các hệ tìm kiếm có sử dụng kiểu truy vấn không chính xác thì vấn đề xác định và sắp xếp mức độ liên quan của các tài liệu tìm thấy với yêu cầu tìm kiếm là rất quan trọng
1.7.6 Truy vấn theo thống kê -xác suất
Kiểu truy vấn này liên quan đến cách thức hệ tìm kiếm xác định mức độ liên quan của tài liệu với câu lệnh truy vấn Sử dụng một hàm thống kê như tính số từ xuất hiện trong tài liệu, tìm các từ đồng nghĩa, để xác định kết quả trả về cho người truy vấn Kiểu truy vấn này sử dụng nhiều phương pháp đã được phát triển rất tốt trong lĩnh vực tìm kiếm thông tin
1.8 Phân tích một số hệ tìm kiếm điển hình
Phần lớn các hệ tìm kiếm sử dụng kiến trúc bộ tìm duyệt –bộ tạo chỉ mục tập trung Như đã đề cập ở phần trước, với lý do thương mại, việc thực hiện các hệ tìm kiếm thường không được công bố Tuy vậy với thông tin về kiến trúc tổng quát của một số hệ tìm kiếm điển hình cũng cho chúng ta hiểu biết thêm về hệ tìm kiếm Sau
Trang 3130 đây là kiến trúc tổng quát của một số hệ tìm kiếm điển hình, nổi tiếng, có số lượng người truy cập thuộc hàng cao hàng đầu thế giới[14]
1.8.1 Hệ tìm kiếm Altavista
Hệ tìm kiếm Altavista có địa chỉ http://www.altavista.com Kiến trúc của hệ tìm kiếm Alavista có thể coi là một trong những kiến trúc điển hình của hệ tìm kiếm Altavista có 2 phần rõ rệt là bộ tìm duyệt và bộ tạo chỉ mục, bên cạnh là phần phụ phục vụ giao diện với người dùng và thực hiện câu lệnh tìm kiếm
Kiến trúc của hệ tìm kiếm Altavista hình 6
Bộ tìm duyệt có nhiệm vụ chạy trên một máy mạnh, cục bộ và gửi các yêu cầu đến các máy chủ Web ở khắp nơi trên thế giới Thông tin nhận về được chuyển sang bộ tạo chỉ mục để tạo chỉ mục và lưu vào cơ sở dữ liệu Khi có yêu cầu tìm kiếm từ phía người dùng, phần trả lời yêu cầu thực hiện tìm kiếm trên cơ sở dữ liệu
Index database
Hình 6 Kiến trúc hệ tìm kiếm Altavista
WWW
Trang 32Kiến trúc của hệ tìm kiếm Harvest hình 7
Như hình vẽ, Harvest có 2 phần tử chính là gatherer và các broker Công việc của gatherer là thu thập tài liệu từ các máy chủ Web khác nhau Thời gian truy cập được chỉ ra bởi nhà quản trị hệ tìm kiếm, như hàm ý của từ Harvest, thời gian này
có chu kỳ Broker có nhiệm vụ cung cấp cơ chế tạo chỉ mục và giao diện truy vấn đến tài liệu đã được thu thập Broker nhận thông tin từ các gatherer hoặc từ các broker khác
Trang 3332
Để tiết kiệm thời gian, broker có thể lọc thông tin và gửi chúng đến các broker khác Phụ thuộc vào cấu hình của gatherer và broker do người quản trị thiết lập mà công việc của chúng được điều chỉnh thích hợp, tránh việc quá tải cũng như tắc ngẽn mạng Ngoài ra, hệ tìm kiếm này còn cung cấp bộ nhớ cache để tăng tốc độ tìm kiếm và giảm sự quá tải của nó Bộ nhớ này cho phép hệ tìm kiếm lưu lại các kết quả tìm kiếm gần nhất mà người dùng yêu cầu vào vùng nhớ cache Khi người dùng yêu cầu lại, hệ tìm kiếm không tìm kiếm lại mà lấy ngay kết quả từ vùng nhớ cache và trả về cho người dùng
1.8.3 Hệ tìm kiếm Google
Google là một trong những hệ tìm kiếm rất mạnh, được sử dụng nhiều nhất hiện nay Đây là một hệ tìm kiếm thương mại hỗ trợ nhiều ngôn ngữ với nhiều hình thức tìm kiếm khác nhau như tìm kiếm theo chủ đề, theo từ khoá, tìm kiếm sử dụng toán tử logic, tìm kiếm không chính xác, Google có một lượng dữ liệu khổng lồ nhưng vẫn đáp ứng được thời gian tìm kiếm tương đối nhanh Phần lớn các mudul của Google được viết bằng C/C++, có thể chạy trên các hệ điều hành Solaris và Linux [5]
Trang 3433
Hình 8 Mô hình kiến trúc của máy tìm kiếm Google
Trong Google, bộ tìm duyệt được tạo bởi nhiều bộ tìm duyệt phân tán khác nhau Bộ dịch vụ URL gửi các địa chỉ URL cần được truy cập đến các bộ tìm duyệt
Bộ tìm duyệt đi theo các siêu liên kết và các địa chỉ tải các trang Web về rồi chuyển đến dịch vụ lưu trữ Sau đó, dịch vụ lưu trữ nén và lưu các trang Web vào kho chứa Web Mỗi trang Web khác nhau đều được gán một mã định danh duy nhất (docID)
Mã định danh này được gán cho một trang Web khi là một địa chỉ mới (địa chỉ chỉ đến trang Web đó) được phân tích ra từ các trang đã có Bộ tạo chỉ mục và bộ sắp xếp thực hiện tạo chỉ mục và sắp xếp các trang Web Bộ tạo chỉ mục thực hiện đọc
từ kho lưu trữ, giải nén tài liệu và phân tích chúng Mỗi tài liệu được chuyển thành một tập các từ gọi là các hit để tạo chỉ mục Các hit chứa từ, vị trí của từ trong tài liệu, cỡ chữ, kiểu chữ, Bộ tạo chỉ mục phân bố các hit này trong các khoang chứa Việc phân bố này giống như việc phân vùng trong cơ sở dữ liệu và tạo nên bảng chỉ mục chuyển tiếp được sắp xếp, giúp cho việc tìm kiếm nhanh chóng
Trang 3534
Bộ tạo chỉ mục còn thực hiện một số nhiệm vụ quan trọng như tách các địa chỉ URL tìm thấy trong tài liệu, để bộ phân tích URL xử lý Bộ phân tích URL chuyển địa chỉ URL quan hệ thành địa chỉ URL tuyệt đối rồi lần lượt đưa vào các docID, tạo các địa chỉ tìm kiếm mới
Bộ sắp xếp lấy dữ liệu từ khoang chứa các hit đã được thực hiện sắp xếp theo các wordID và lưu chúng vào bảng chỉ mục liên kết ngược Việc này được thực hiện tại chỗ, do đó yêu cầu một không gian bộ nhớ nhất định Cùng với các từ vựng do
bộ tạo chỉ mục tạo ra, chương trình Dumplexicon tạo ra bộ phân tích từ vựng để phục vụ cho hệ tìm kiếm sử dụng Hệ tìm kiếm được chạy trên các máy chủ Web,
sử dụng bộ từ điển và các bảng chỉ mục liên kết ngược để tìm kiếm thông tin yêu cầu Thông tin tìm thấy được kết hợp với bộ xếp hạng để sắp xếp lại dữ liệu và trả
về cho người dùng
1.8.4 Hệ tìm kiếm Vietseek
Vietseek là một trong số máy tìm kiếm tiếng Việt đã được xây dựng và sử dụng hiện nay (như PanVietnam của công ty Netnam, VinaSeek của công ty Tinh Vân, ) Vietseek được phát triển dựa trên ASPseek (là một phần mềm mã nguồn mở) do Bùi Quang Minh trong khuôn khổ đề tài QG-02-02 và công ty TTVNOnline [1]
Về cơ bản, cấu trúc của Vietseek giống như cấu trúc của các máy tìm kiếm thông thường Tuy nhiên Vietseek chưa có chức năng phản hồi lại thông tin từ bộ truy vấn đến bộ điều khiển tìm duyệt Vietseek đã xây dựng được chỉ mục khoản
3000 site tiếng Việt với khoảng 3 triệu trang Web, và khoảng 2,5 triệu từ khoá đã được lưu trữ Hiện nay, Vietseek đang tiếp tục tiến hành tạo chỉ mục cho khoảng 7 triệu trang Web khác
Cơ sở dữ liệu về các trang Web và chỉ mục được lưu trữ trong máy phục vụ
cơ sở dữ liệu Modul tìm kiếm là một tiến trình chạy ngầm hoạt động theo cơ chế client/server, có nhiệm vụ lập danh sách các URL thoả mãn yêu cầu của người dùng Sau đó, tính hạng hiển thị cho tất cả các trang rồi nhóm theo site và sắp xếp từ
Trang 3635 trên xuống Modul giao diện (máy phục vụ Web) làm nhiệm vụ lấy kết quả trả về từ modul tìm kiếm, trộn lại rồi hiển thị dưới dạng Web cho người dùng
Vietseek tính hạng hiển thị cho một trang Web dựa vào 4 yếu tố sau:
- Vị trí xuất hiện của từ khoá trong văn bản
- Vị trí tương đối giữa các từ khoá trong trang
- Thuộc tính của từ khoá
- Giá trị hạng của trang
Vietseek đã xây dựng xong chức năng tìm kiếm văn bản, chức năng tìm kiếm hình ảnh hiện đang được xây dựng Các kết quả tìm kiếm được trả về rất nhanh và chính xác do đã thực hiện được việc tính hạng trang Web dựa vào các liên kết ngay
từ khi tạo chỉ mục cho các trang và việc xếp hạng hiển thị trang kết quả đã được tính toán dựa theo bốn tiêu chí nêu trên Vietseek đã chuyển đổi được tất cả các loại
mã tiếng Việt khác nhau sang mã Unicode, và kết quả trả lại dưới dạng mã Unicode Tuy nhiên, còn một số vấn đề mà Vietseek chưa giải quyết được: Chưa phân tán được cơ sở dữ liệu vào các nút lưu trữ khác nhau, nên trong tương lai khi số lượng các trang Web tiếng Việt nhiều hơn sẽ gặp khó khăn trong việc lưu trữ Do chưa phân tán được cơ sở dữ liệu vào nhiều nút nên Vietseek chưa sử dụng kỹ thuật phân hoạch chỉ mục Và chưa xây dựng được chức năng tự học của máy tìm kiếm từ danh sách URL được người dùng sử dụng trong kết quả trả về Cuối cùng, Vietseek giống như hầu hết các máy tìm kiếm khác, Vietseek chưa quan tâm đến việc xếp hạng các trang Web dựa vào tần số xuất hiện các từ khoá tìm kiếm trong trang Web đó
Trang 37hệ tìm kiếm Bắt đầu từ một vài địa chỉ URL, bộ tìm duyệt gửi yêu cầu để lấy thông tin từ các Web Server, sau đó trích lọc các địa chỉ URL khác từ các địa chỉ ban đầu này để tìm địa chỉ mới
Bộ tìm duyệt Web có thể tìm kiếm hàng triệu trang Web mỗi ngày Các bộ tìm duyệt Web nhanh nhất hiện nay có thể tìm kiếm khoảng 10 triệu trang Web mỗi ngày Hệ tìm kiếm có cơ chế cho phép người dùng có thể đăng ký các trang Web của mình bằng cách thêm địa chỉ URL của họ vào cơ sở dữ liệu URL để nó tìm kiếm, nhờ đó mà thông tin về trang Web của họ được cập nhật sớm hơn, trước khi
bộ tìm duyệt tự tìm thấy [12]
2.1.2 Các thông số cơ bản của bộ tìm duyệt Web
Số trang Web mà bộ tìm duyệt có thể được duyệt trong một ngày Thông số này chỉ ra số trang Web mà một bộ tìm duyệt có thể duyệt được trong một ngày, thông số này thường là giá trị trung bình (trong một khoảng thời gian) Càng nhiều trang Web được duyệt, hệ tìm kiếm càng cập nhật nhanh các thông tin mới trên Internet và rút ngắn chu kỳ duyệt lại trang Web của nó
Số lượng trang Web có thể duyệt, thông số này chỉ ra số lượng trang Web tối
đa mà một bộ tìm duyệt có thể duyệt được Đây cũng là số lượng tối đa các trang Web mà một hệ tìm kiếm có thể tìm kiếm Thông số này phụ thuộc vào cả số lượng
Trang 3837 tối đa các trang Web mà bộ tạo chỉ mục của hệ tìm kiếm có thể tạo chỉ mục cũng như khả năng lưu trữ của hệ thống
Mỗi máy chủ Web có một lượng trang Web khác nhau Cấu trúc thư mục cũng khác nhau Ví dụ như số tối đa thư mục con trực tiếp mà một thư mục có thể
có, hay số mức thư mục con có thể có của một thư mục Rất nhiều máy tìm kiếm khi cho bộ tìm duyệt thực hiện việc tải các trang Web về đã không tải tất cả các trang Web của máy chủ Web mà thường hạn chế số tối đa thư mục con hay số tối đa cấp thư mục con có thể tải về
Chu kỳ cập nhật lại thông tin: Do sự thay đổi liên tục của thông tin trên Internet Hàng giờ, hàng ngày có rất nhiều trang Web được tạo ra hay nội dung của
nó bị thay đổi Các trang Web mà hệ tìm kiếm đã tìm duyệt và tạo chỉ mục có thể đã
bị cập nhật bởi người chủ của trang Web hoặc được cập nhật tự động khi có một tác động nào đó Chính vì vậy, để thông tin tìm kiếm trả về cho người dùng được chính xác, các hệ tìm kiếm thường thiết lập cho bộ tìm duyệt tự động cập nhật lại thông tin theo một chu kỳ nhất định Chu kỳ này thường tính theo tuần hay tháng Chu kỳ lại cập nhật thông tin càng nhỏ thì khả năng kết quả tìm kiếm đáp ứng được yêu cầu của người dùng càng lớn và ngược lại
Khả năng duyệt sớm nhất các địa chỉ Web do người quản trị hoặc người dùng lựa chọn Các hệ tìm kiếm thường lập lịch cho mình để tự động có thể thu nhận các trang Web theo một thứ tự nào đó Khi đó các địa chỉ URL, đặc biệt là các địa chỉ URL mới cần phải đợi đến lượt mình để có thể có trong cơ sở dữ liệu của hệ tìm kiếm Thời gian chờ này có thể lên đến hàng tuần hoặc hàng tháng Chính vì vậy, một số hệ tìm kiếm đã phát triển phần trực tiếp cập nhật các địa chỉ URL để yêu cầu bộ tìm duyệt duyệt ngay khi có thể Đây là một đặc tính mới thường được phát triển trong các hệ tìm kiếm thương mại Người dùng muốn nhanh chóng quảng
bá thông tin, sản phẩm của mình thì phải trả một khoản tiền nào đó cho người chủ của hệ tìm kiếm Khi đó, địa chỉ trang Web của họ sẽ được bộ tìm duyệt duyệt sớm
Trang 3938 hơn và thông tin nhanh chóng được đưa vào trong cơ sở dữ liệu của hệ tìm kiếm để mọi người có thể tìm ra
Khả năng tìm duyệt các trang Web không được chỉ ra bởi người dùng cũng như người quản
Có một số hệ tìm kiếm không có khả năng duyệt được các trang Web nếu không chỉ ra địa chỉ URL của trang Web đó Khả năng tìm duyệt các trang Web không được chỉ ra bởi người dùng cũng như người quản trị liên quan đến khả năng trích lọc các địa chỉ URL mới từ các trang Web đã duyệt của hệ tìm kiếm Hiện nay, hầu hết các hệ tìm kiếm đã có khả năng này
Tốc độ duyệt trang Web của bộ tìm duyệt, thông số này chỉ ra số lượng tối đa các trang Web mà bộ tìm duyệt có thể duyệt được trong một ngày Thông số này phản ánh tốc độ duyệt Web của bộ tìm duyệt Để tăng tốc độ, một hệ tìm kiếm có thể có nhiều bộ tìm duyệt và mỗi một bộ tìm duyệt lại chạy ở dạng đa luồng Do đó, tại cùng một thời điểm, các bộ tìm duyệt có thể duyệt được nhiều địa chỉ URL khác nhau, ở tại nhiều máy chủ Web khác nhau
Kích thước tối đa và thời gian tối đa của một trang Web được tải về Do vấn
đề xử lý tài liệu văn bản cũng như sự cân nhắc giữa yếu tố thời gian tải một văn bản
từ máy chủ Web về cơ sở dữ liệu của hệ tìm kiếm và số lượng từ trong văn bản cần được tạo chỉ mục mà một số hệ tìm kiếm chỉ tải trang Web với một kích thước giới hạn nào đó Nếu trang Web được tải về có kích thước lớn hơn kích thước giới hạn này thì phần còn lại sẽ không được lấy về và do đó chúng không được tạo chỉ mục Tương tự như kích thước tối đa là thời gian tối đa một trang Web được tải về Bộ tìm duyệt chỉ tải về các trang Web trong một thời gian xác định nào đó Ví dụ, bộ tìm duyệt của Excite tải về mỗi trang Web trong vòng 30 giây, nếu vượt quá thời gian này thì phần còn lại của tài liệu sẽ không được lấy về tiếp và do đó không được tạo chỉ mục Trong khi đó, Lycos tải về 275 ký tự đầu của trang, còn Infoseek tải về 16Kb của trang để sử dụng nó tạo chỉ mục[12]
Trang 40Hỗ trợ là một trong những cấu trúc được sử dụng nhiều trong các trang Web hiện nay Frame cho phép các trang Web được phân chia thành trang nhỏ khác nhau Các frame có thể là của cùng một địa chỉ Web hoặc cũng có thể là của các địa chỉ Web khác nhau Nhờ frame mà người chủ trang Web dễ dàng định vị được vị trí thể hiện nội dung mình cần trên trang Web Đối với người dùng, các frame giúp cho việc quan sát bố cục nội dung tài liệu được dễ dàng hơn Ví dụ như một trang Web
có 2 frame, frame bên phải là mục lục của các tài liệu, còn frame bên trái thì nội dung của chỉ mục đó sẽ được hiện lên ở frame bên phải Ngoài nội dung vẫn như thường có ở các trang Web có thể có từ một đến vài nội dung trong các frame, được tạm gọi là nội dung phụ Như vậy, khi tải các trang Web có chứa frame, các bộ tìm duyệt cần phải tải được cả nội dung chính và các nội dung phụ
Khả năng duyệt các trang Web được bảo vệ bởi mật khẩu hoặc cần đưa vào thông tin
Đây là một tính năng nâng cao rất khó thực hiện được của bộ tìm duyệt Tính năng này cho phép bộ tìm duyệt gửi yêu cầu tải về trang Web đến máy chủ Web với các tham số đi kèm Tuỳ thuộc vào tham số đi kèm mà bộ tìm duyệt sẽ nhận các nội dung của trang Web khác nhau Tính năng này rất khó thực hiện được bởi tham số
đi kèm không phụ thuộc vào bộ tìm duyệt mà phụ thuộc vào bản thân máy chủ Web