Tải bản đầy đủ (.pdf) (81 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (940.3 KB, 81 trang )


ĐẠ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


1
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


2
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

3

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

4
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.


5
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.

6
Chương 1 Tổng quan về hệ tìm kiếm
1.1. Internet và dịch vụ World Wide Web
1.1.1 Internet
Trong những năm chiến tranh, các nhà quân sự Hoa Kỳ lo ngại bị đối
phương tấn công vào hệ thống liên lạc của chính phủ. Vì thế bộ quốc phòng đã đầu
tư để yêu cầu Robert Taylor và các nhà khoa học nghiên cứu xây dựng một mạng
máy tính sao cho hoạt động tốt trong trường hợp một phần hệ thống bị hỏng. Việc
nghiên cứu được thực hiện tại Defense Advanced Research Project Agency
(DARPA) và kết quả của cuộc thử nghiệm ra đời vào những năm 1970 là mạng
ARPANET (Advanced Research Project Agency Network) [7].
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

7
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

8
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.

9
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 đó.

10
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

11
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

12
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ề.

13
+ 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

14
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.

15


Các chỉ mục tài liệu
Web pages

INTERNET
URLs
Crawler (Spider, robot, bot,…)
Web 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

16
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.

17
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à

18
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.

19
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

20
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

21
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
FPT search
Newsgroup
Web search
(Google, Altavista, )
Nhận kết quả
Gửi yêu cầu
Yêu cầu tìm kiếm
Kết quả

22
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
Yahoo
Lycos
Altavista

Excite
….
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

23

24
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]:

×