Tải bản đầy đủ (.docx) (47 trang)

Tiểu luận cơ sở tri thức NHỮNG CẢI TIẾN THÔNG MINH TRONG HỆ THỐNG TÌM KIẾM GOOGLE

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 (1.82 MB, 47 trang )

“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
ĐẠI HỌC QUỐC GIA TP.HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

CHUYÊN ĐỀ
CƠ SỞ TRI THỨC
ĐỀ TÀI:
NHỮNG CẢI TIẾN THÔNG MINH TRONG
HỆ THỐNG TÌM KIẾM GOOGLE
Chuyên ngành: KHOA HỌC MÁY TÍNH
Mã số: 60 48 01
GVHD : GS.TSKH Hoàng Văn Kiếm
Người thực hiện : Nguyễn Hoàng Sỹ
Mã số : CH1101037
Tp.HCM, tháng 08 năm 2014
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 1
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
MỤC LỤC

HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 2
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
DANH MỤC CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Số TT Từ Giải nghĩa
1. SE Search Engine
2. PR PageRank
3. CSE Custom Search Engine
4. KMP
Knuth Morris Pratt
5. RDF Resource Description Framework
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 3
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”


DANH MỤC CÁC BẢNG
Bảng 1-1: Ví dụ về code textlink hiểnthị dưới dạng HTML
Bảng 3-1: So sánh chức năng Search Engine
Bảng 3-2: Bảng so sánh xếp hạng của ComScore từ 03/2012 đến 04/2012
Bảng 3-3: Bảng so sánh xếp hạng của ComScore từ 03/2013 đến 04/2013
Bảng 3-4: Danh sách 10 website được truy cập nhiều nhất vào tháng 7 vừa qua.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 4
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Hình 1-1: Cấu trúc điển hình một Search Engine
Hình 1-2: Ví dụ về 1 textlink
Hình 1-3: Mô hình hổ trợ Textlink và Search Engine
Hình 3-1: Ví dụ về tính năng Bing
Hình 3-2: Tính năng lọc theo vùng trên Bing
Hình 3-3: Công cụ tìm kiếm Yahoo search
Hình 3 -4: Tính năng tìm kiếm Iphone 5 - Yahoo search Direct
Hình 3- 5: Minh họa tìm kiếm thông tin về Yahoo trên Wikipedia
Hình 3-6: Minh họa tìm kiếm theo thứ tự thông tin “điện tử tiêu dùng”
Hình 3-7: tìm kiếm thông tin trên Yahoo.Mail
Hình 3 -8: Kiểm tra số kết nối đến web “linkdomain:yahoo.com site:wikipedia.org“
Hình 3-9: Minh họa Google là hệ thống tìm kiếm nổi bật và thành công nhất
Hình 4-1: Minh họa chức năng Google Instant; dự đoán “trường đại học công nghệ”
Hình 4-2: Cách thực hiện Google Instant
Hình 4-3: Minh họa chức năng xem trước kết quả
Hình 4 - 4: Minh họa chức năng tìm kiếm bằng hình ảnh
Hình 4-5: Minh họa chức năng đa dạng của Google
Hình 4-6: Minh họa chức năng bàn phím ảo của Google
Hình 4-7: Minh họa chức năng kiểm tra lỗi chính tả khi tìmkiếm bằng Google
Hình 4-8: Minh họa chức năng tìmkiếm bằng Google Maps trên Ipad
Hình 4-9: Minh họa giao diện làm việc của Android Device Manager

Hình 4-10: Minh họa chức năng tìmkiếm bằng Google Voice trên Chrome
Hình 4-11: Minh họa sự phát triển của google từ năm 1997 đến nay
Hình 4-12: Minh họa Onefeed khả năng tích hợp Google Chrome
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 5
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
LỜI MỞ ĐẦU

Ngày nay, cùng với sự phát triển nhanh chóng của khoa học kỹ thuật là sự bùng nổ
thông tin với các phương tiện lưu trữ đã tạo ra một lượng thông tin khổng lồ. Nhu cầu về
tìm kiếm và xử lý thông tin, cùng với yêu cầu về khả năng kịp thời khai thác chúng để
mang lại những năng suất và chất lượng cho công tác quản lý, hoạt động kinh doanh đã
trở nên cấp thiết trong xã hội hiện đại.
Để đáp ứng phần nào yêu cầu này, người ta đã xây dựng các công cụ tìm kiếm và
xử lý thông tin nhằm giúp cho người dùng tìm kiếm được các thông tin cần thiết riêng
cho mình, cùng với sự rộng lớn và đồ sộ của nguồn dữ liệu trên Internet là các công ty
cung cấp các giải pháp xây dựng hệ thống tìm kiếm thông minh như: Google, Yahoo,
Bing
Trong chuyên đề này, tập trung đi tìm hiểu cơ sở lý thuyết cơ bản về tổng quan về máy
tìm kiếm thông tin, kỹ thuật khai phá dữ liệu trong môi trường Web, tổng hợp và phân tích các
công cụ tìm kiếm thông tin của các công ty tìm kiếm thông tin hiện nay, mà đặc biệt là giải pháp
tìm kiếm thông tin của Google.
Từ đó đề xuất các hướng phát triển về xử lý thông tin mang tính chính xác và nhanh
chóng, kết quả sẽ xuất hiện ngay trên trang đầu tiên, phân loại riêng cho mục đích của việc tìm
kiếm thông tin.
Tôi chân thành cảm ơn Thầy GS.TSKH Hoàng Văn Kiếm đã truyền đạt những kiến
thức quý báu có ý nghĩa khoa học và mang tính thực tiễn cao trong ứng dụng của chuyên
đề Cơ sở tri thức, mở ra nhiều hướng nghiên cứu chuyên sâu vào từng lĩnh vực ứng dụng đặc
thù với những đặc trưng riêng./.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 6
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”

Bố cục trình bày:
Chương 1: Cơ sở lý thuyết.
Chương này trình bày tổng quan, khái quát về sự ra đời cổ máy tìm kiếm thông tin, cấu trúc,
nguyên lý và các module tìm kiếm thông tin.
Chương 2: . Các thuật toán đối sánh mẫu trong hệ thống tìm kiếm
Trình bày các ý tưởng, thuật toán đối sánh mẫu: Brute Force, Knuth Morris Pratt, Boyer Moore
và thuật toán phân cụm dữ liệu K-Means.
Chương 3: Phân tích, đánh giá các công cụ tìm kiếm thông tin phổ biến hiện nay.
Chương này giới thiệu các công cụ tìm kiếm thông tin phổ biến nhất hiện nay như: Google,
Yahoo, Bing và thống kê, so sánh của các hãng tìm kiếm thông tin do ComScore thực hiện.
Chương 4: Trình bày các kỹ tính và tính năng tìm kiếm thông tin của Google.
Đây là chương chính của chuyên đề, trình bày các tính năng cơ bản cũng như kỹ năng cho
người dùng, đặc biệt là công cụ của công ty Google. Qua đây, cho ta thấy được con người đã
biết áp dụng cơ sở tri thức, các thuật toán áp dụng cho giải pháp tìm kiếm thông tin, dữ liệu.
Các tính năng được trình bày trong công cụ tìm kiếm thông tin của Google được xem là nổi bật
và có tính năng mạnh mẽ so với các công cụ tìm kiếm khác, do Google luôn luôn tìm kiếm các
giải pháp sáng tạo và đổi mới các tính năng phù hợp với nhu cầu.
Kết luận & Đề xuất:
Chương kết thúc chuyên đề, tóm lại các tính năng nổi bật của công cụ tìm kiếm thông tin và đề
xuất các giải pháp tìm kiếm thông tin, cải tiến các thuật toán áp dụng cho việc tìm kiếm thông
tin nhanh chóng và chính xác như: thuật toán phân cụm K-means hay thuật toán di truyền. Mở
rộng phục vụ cho nhu cầu tương lai, giúp chúng ta tới gần hơn với kho kiến thức khổng lồ,
nắm vững tri thức của tương lai qua con đường Internet;
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 7
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
CHƯƠNG I: CƠ SỞ LÝ THUYẾT
I.1 Tổng quan về máy tìm kiếm:
I.1.1 Khái niệm Search Engine:
Search Engine là phần mềm cung cấp các địa chỉ Web có chứa một hay nhiều thông tin,
từ khoá (keywords) mà người dùng cần tìm kiếm, sau đó phân tích yêu cầu này và tìm kiếm

thông tin trong cơ sở dữ liệu được tải xuống từ Web để đưa ra kết quả là các trang Web
có liên quan cho người dùng. Hay nói một cách dễ hiểu Search Engine là các công cụ tìm
kiếm như Google.com, Yahoo.com hay Bing.com… Đây là những công cụ tìm kiếm phổ biến
và chiếm thị phần lớn nhất.
Search Engine là một thư viện thông tin khổng lồ về các Website, cho phép người sử
dụng có thể tìm kiếm các Website cần quan tâm theo một chủ đề nào đó căn cứ vào các từ khóa
(keywords) mà người đó yêu cầu Search Engine tìm kiếm.
I.1.2 Sự ra đời của Search Engine:
Sẽ rất khó khăn cho người dùng truy cập vào Internet để tìm kiếm 1 Website hay một
thông tin có chủ đề phục vụ cho mục đích của mình vì hàng ngày có khoảng hơn 100.000
Website mới được đưa lên mạng. Số lượng Website trên mạng Internet hiện nay đã lên tới hơn 5
tỷ. Vì vậy, để phục vụ việc tìm kiếm nhanh chóng Website của người sử dụng Internet, Search
Engine ra đời.
Search Engine ra đời giúp cho việc tìm kiếm thông tin trên Internet dễ dàng và nhanh
chóng. Tại Việt Nam, Search Engine phổ biến nhất là www.google.com.vn và chiếm thị phần
lớn nhất với hơn 90%.
Web crawler còn được gọi là spider (con nhện) là một phần của search engine, chuyên
“chu du” khắp Website, sao chép từng trang nó tìm được và lập chỉ mục các từ khóa, tên trang.
Hãy thử tưởng tượng một cuộc sống hoàn toàn không có niên giám điện thoại hay một
trợ giúp nào khác. Sử dụng điện thoại lúc đó sẽ trở nên rất khó khăn. Điều này cũng tương tự
như dùng Web mà không có công cụ tìm kiếm. Với search engine, bạn chỉ cần biết một vài
thông tin hay từ khoá là có thể tìm được nơi cần đến.
Rõ ràng rất tiện lợi khi người dùng muốn tìm một sản phẩm hay dịch vụ … chỉ cần vào
một trong 3 công cụ trên và gõ tên sản phẩm hay dịch vụ… và Enter, sẽ ra một cơ số website để
chúng ta lựa chọn.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 8
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
Theo một nghiên cứu do công ty Zona Research (Mỹ) tiến hành năm 1999 thì search
engine hiện là phương thức tìm kiếm thông tin trên Web được sử dụng nhiều nhất, nó chiếm tới
77% tổng thời gian tìm kiếm. Theo kết quả khảo sát người tiêu dùng của một công ty khác vào

năm 1999 thì 88% người dùng trực tuyến có sử dụng một search engine và 72% có dùng một
search engine để tìm kiếm hàng hoá bán lẻ.
Đối với nhiều người dùng, search engine là yếu tố định hình nên bức tranh về kho thông tin
trên Web. Tuy nhiên, một nghiên cứu gần đây của NEC Research Institute và Inktomy cho thấy
có tới hơn một tỷ trang Web riêng biệt trên Internet và hầu hết các search engine đã bỏ qua
không lập chỉ mục cho 1/4 số trang này. Mặt khác, khoảng 7-14% những nội dung đã được lập
chỉ mục lại không còn tồn tại trên Net.
I.1.3 Bên trong việc tìm kiếm:
Với quy mô của Website (Sitemap), có số lượng quá lớn các trang không được truy cập đến
trong nhiều năm và trang có chứa những từ quá phổ biến dẫn đến những site không liên quan,
việc lập chỉ mục dù chỉ một phần của Web để có thể trả về kết quả phù hợp là một quá trình đòi
hỏi rất nhiều công sức to lớn.
Tuy nhiên, về căn bản, công việc này rất đơn giản: chương trình phần mềm thông minh sẽ
“chu du” khắp trên Web, tìm kiếm và lưu trữ bất cứ thông tin nào chưa có trong chỉ mục và
thường là lưu toàn bộ trang Web. Thông tin thu thập được có thể từ những trang đã được lập chỉ
mục trước đó nhưng đã thay đổi, liên kết đến những trang chưa được lập chỉ mục và các địa chỉ
Web do các công ty thứ ba đưa lên.
Một khi các chỉ mục đã được tập hợp lại, chúng sẽ được kiểm tra để loại bỏ những thông tin
trùng lắp, chẳng hạn như các phiên bản khác nhau của cùng một site (site dự phòng); loại bỏ
những trang lập lại quá nhiều lần cùng từ khoá. Một số search engine còn có khả năng gán trạng
thái đặc biệt cho trang Web có dùng siêu thẻ (metatag) chứa các thành phần mô tả thông tin.
Một số search engine có khả năng phân tích nội dung trang Web và cho biết tần suất mà những
trang khác liên kết đến trang này. Như vậy, trang Web càng phổ biến thì nội dung của nó càng
dễ tìm kiếm.
Khi người dùng đưa yêu cầu tìm kiếm thông tin cho search engine hay dịch vụ thư mục, các
giải thuật tinh vi bên trong sẽ được kích hoạt. Mỗi search engine có một cách xử lý khác nhau
đối với thông tin mà nó nhận được từ người dùng, nhưng mục tiêu thì giống nhau: dự đoán
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 9
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
người dùng cần gì và trả về thông tin tương ứng. Những vấn tin của người dùng thường được

phân tích rất chi tiết để phát hiện những sai sót chính tả trong từ khoá hay liệu thông tin này đã
được tìm kiếm chưa.
I.2 Nguyên lý hoạt động của một máy tìm kiếm -SE:
Một Search Engine hoạt động theo các module sau:
Web crawling - Indexing - Searching
I.2.1 Module Thu thập thông tin (Crawler):
Module này có nhiệm vụ thu thập nội dung các trang Web trên Internet một cách tự động
thông qua các siêu liên kết (Hyperlink) bằng việc sử dụng các robot phần mềm đặc biệt được
gọi là Spider (con nhện hay bọ tìm kiếm), Spider sẽ tải và lưu các trang đã tìm thấy vào kho
chứa dữ liệu (Page Repository) rồi tiếp tục đi thăm các trang Web khác trên Internet.
I.2.2 Module Lập chỉ mục (Index):
Module này có nhiệm vụ duyệt nội dung các trang Web đã được tải về, đánh chỉ mục toàn
bộ các từ khoá trong văn bản (số lần xuất hiện, vị trí xuất hiện), tính toán độ quan trọng (Page
Rank) cho các trang này, xếp hạng kết quả (Ranking) và lưu trữ chúng trong các cấu trúc thuận
tiện cho quá trình tìm kiếm.
I.2.3 Module tìm kiếm:
Module này liên quan tới việc giao tiếp với người dùng, khi nhận yêu cầu của người dùng,
nó sẽ tiến hành truy xuất, phân tích, tìm kiếm trong cơ sở dữ liệu chỉ mục và hiển thị cho người
dùng danh sách các tài liệu thỏa mãn yêu cầu đó.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 10
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
Hình 1-1: Cấu trúc điển hình một Search Engine
Như vậy, ta thấy được Search Engine làm việc bằng cách lưu trữ thông tin về nhiều trang
Web trên WWW. Những thông tin này sẽ được thu thập bởi các Spider (chính là Web crawling)
và nội dung của mỗi trang sẽ được phân tích để SE quyết định nên chỉ mục (index) của cái nào
để trả về những thông tin mà người tìm kiếm mong muốn nhất. Dữ liệu về những trang Web sẽ
được lưu trữ tại các cơ sở dữ liệu chỉ mục để sử dụng cho những lần truy vấn sau.
Ví dụ: Những từ khoá được thu thập từ các titles, heading hay một số trường đặc biệt gọi là
meta tags.
Một số Search Engine, như Google chẳng hạn, sẽ lưu trữ toàn bộ hay một phần trang gốc

(được xem như một cache) cũng như thông tin về trang Web đó, trái lại với một số SE khác, như
AltaVista, sẽ lữu trữ tất cả các từ của những trang mà nó tìm thấy.
Khi người dùng nhập vào các Search Engine một truy vấn (chủ yếu là các keyword), các SE
này sẽ kiểm các index của nó và cung cấp danh sách các trang Web phù hợp nhất, thường là các
cụm từ ngắn hay một phần của một đoạn văn bản.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 11
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
I.3 PageRank :
I.3.1 PageRank (PR)là gì:
Là một hệ thống xếp hạng trang Web của các máy tìm kiếm nhằm sắp xếp thứ tự ưu tiên
đường dẫn URL trong trang kết quả tìm kiếm.
PR là giá trị thể hiện mức độ quan trọng của một trang (page) của một website. Thông
thường khi nói đến PR thì người ta thường nghĩ đến Google PageRank đo giá trị PR của Google
trước tiên. Theo như đánh giá của Google thì PR của website được xếp hạng cao khi có nhiều
liên kết có PR cao hoặc tương đương từ website khác tới.
Giá trị PR được tính từ 0 – 10.
PR là cái mà Google nhận biết được mức độ quan trọng khi crawl website. Nó cũng là thước
đo để Google xếp hạng thứ tự xuất hiện trong kết quả tìm kiếm. Điều này cũng đồng nghĩa
website có PR càng cao (PR>4/10) thì sẽ ưu tiên hơn các trang có PR thấp. PR là một tiêu chí
khá quan trọng khi Google tiến hành xếp hạng các từ khóa trong kết quả tìm kiếm.
I.3.2 Tầm quan trọng của PageRank:
Google PageRank hiện nay được coi là chỉ số đáng tin cậy nhất đánh giá giá trị mỗi trang
web, không chỉ bởi những thuật toán xuất sắc dựa trên hơn 100 chỉ số mà còn vì Google đánh
giá và xếp hạng các trang web bằng cả hai phương pháp tự động và thủ công. Một trang web có
chỉ số Google PageRank cao sẽ đem lại ấn tượng đáng tin cậy cho khách truy cập, điều này đặc
biệt có ý nghĩa với các website kinh doanh thương mại điện tử.
Google PageRank ảnh hưởng trực tiếp tới vị trí hiển thị của mỗi trang web khi cạnh tranh
thứ hạng hiển thị trong danh sách kết quả tìm kiếm của Google. Tất nhiên ngoài PageRank việc
thiết lập các thẻ metadata, tối ưu hóa công cụ tìm kiếm (SEO) của website cũng giúp cho
website có cơ hội đứng thứ hạng đầu trong kết quả tìm kiếm. Google PageRank là một công cụ

hỗ trợ các webmaster quản trị website. Đồng thời, một trang web có Google PageRank cao phần
nào chứng minh năng lực quản trị tốt của webmaster website đó.
I.4 Textlink:
I.4.1 Textlink là gì:
Textlink – hay còn gọi là Backlink – là các đường dẫn liên kết trỏ đến các trang web, tài
liệu, hình ảnh, video trên website của bạn từ một website khác bất kỳ.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 12
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
Các textlink thường được hiển thị dưới dạng gạch chân và có màu xanh nước biển cho
các link chưa được click và màu nâu cho các link đã được click. Người dùng trên Internet truy
cập từ website này qua website khác bằng cách click từ link này qua link khác.
Textlink của bạn sẽ được hiển thị theo dạng text (từ khóa + đường dẫn tới website của bạn)
giống như trong hình ảnh dưới đây:
Hình 1-2: Ví dụ về 1 textlink
Hoặc :
<a href=”index.php”>Trang chủ</a>
<a href=” />Ở đây các thẻ <a> được gọi là link và 2 từ “Trang chủ” và “Google” được gọi là
text – hay chính xác hơn là Anchor Text – hiểu nôm na là từ khóa.
Bảng 1-1: Ví dụ về code textlink hiểnthị dưới dạng HTML
I.4.2 Textlink có tác dụng gì với các công cụ tìm kiếm như Google, Yahoo, Bing:
Các công cụ tìm kiếm thường sử dụng các chương trình phần mềm tự động – hay còn gọi là
bot, spider, crawler hay robots – để tìm kiếm (crawl) và lưu trữ (index) các trang web, tài liệu,
hình ảnh hay video của các website để tạo nên các chỉ mục tìm kiếm (search indexes).
Khi người dùng gõ một từ khóa bất kỳ, các công cụ tìm kiếm sẽ dựa vào các chỉ mục tìm
kiếm này và so sánh khoảng 200 yếu tố khác để tìm ra trang web có nội dung phù hợp nhất cho
người dùng.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 13
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
Hình 1-3: Mô hình hổ trợ Textlink và Search Engine
Như vậy bạn có thể hiểu Textlink giống như các con đường cao tốc dẫn các con bot của các

SE tìm thấy và lưu trữ các trang web của bạn. Ngoài ra, textlink sẽ giúp các SE hiểu nội dung
của trang web đang được link tới thông qua các “Anchor Text” hay còn gọi là từ khóa.
Ví dụ: đường link <a href=” đổi Textlink</a>
sẽ giúp các SE hiểu rằng đường dẫn “ có nội dung nói về “Trao
đổi Textlink”
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 14
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
CHƯƠNG II: CÁC THUẬT TOÁN ĐỐI SÁNH - PHÂN CỤM DỮ LIỆU
DỰA VÀO TÌM KIẾM THÔNG TIN
II.1 Giới thiệu:
Để một máy tìm kiếm họat động hiệu quả, ngoài kỹ thuật thu thập thông tin và tạo chỉ
mục cho thông tin, chúng ta cũng cần quan tâm đến việc sử dụng các thuật toán đối sánh mẫu
để tìm kiếm dữ liệu.
Dữ liệu trong máy tính được lưu trữ dưới rất nhiều dạng khác nhau, nhưng phổ biến nhất
vẫn là dạng chuỗi. Một phép toán cơ bản trên chuỗi là đối sánh mẫu (pattern matching), bài
toán yêu cầu ta tìm ra một hoặc nhiều vị trí xuất hiện của mẫu trên một văn bản. Trong đó mẫu
có độ dài m và văn bản có độ dài n (m ≤ n), tập các ký tự được dùng gọi là bảng chữ cái ∑ , có
số lượng là δ.
II.1.1 Thuật toán Brute Force:
II.1.1.1 Tư tưởng:
Thuật toán này thử kiểm tra tất cả các vị trí trên văn bản từ 1 cho đến n-m+1. Sau mỗi lần
thử, mẫu được dịch sang bên phải một ký tự cho đến khi kiểm tra hết văn bản.
Trường hợp xấu nhất là tìm đến hết chuỗi T mà không thấy. Khi đó với n-m+1 vị trí tìm
kiếm, ta phải so sánh m ký tự của chuỗi P với các ký tự tương ứng của chuỗi T.
Số lần so sánh: Cmax=m*(n-m+1). Thông thường m rất nhỏ so với n nên ta có thể coi
Cmax=m*n. Như vậy độ phức tạp thuật toán này là O(m*n).
II.1.1.2 Thuật toán:
Function IsMatch (P, m, T, t): boolean;
Var i: integer;
Begin

IsMatch := false;
Dec(p);
for i := 1 to m do
if P[i] <> T[p + i] then Exit;
IsMatch := true;
End;
Procedure Brute_Force;
Var i: integer;
Begin
for i := 1 to n - m + 1 do
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 15
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
if IsMatch (P, m, T, i) then
Output(i); { Thông báo tìm thấy mẫu tại vị trí i của văn bản }
end;
II.1.2 Thuật toán Knuth Morris Pratt :
II.1.2.1 Tư tưởng:
Thuật toán Knuth Morris Pratt dựa trên thuật toán Brute Force với ý tưởng tận dụng lại
thông tin của lần thử trước cho lần sau. Thuật toán KMP có chi phí về thời gian là O(m+n) với
nhiều nhất là 2n-1 lần so sánh ký tự trong quá trình tìm kiếm.
II.1.2.2 Giải thuật:
P: chuỗi mẫu
T: chuỗi ban đầu
+ Giải thuật tính mảng next:
Procedure InitNext;
Begin
Next[0]:= 0;
i := 1;
j := 0;
while i < m

if P[i] = P[j]
{đã so khớp j + 1 ky tự}
Next[i]:= j + 1
i := i + 1
j := j + 1
else if j > 0 then
{Xác định vị trí so khớp mới}
j := Next[j - 1]
else
{không khớp và j=0}
Next[i] := 0 ;
i :=i + 1;
End;
Mảng next có thể tính trước với chi phí về thời gian là O(m).
+ Giải thuật KMP:
Procedure KMPMatch(T, P)
i := 0;
j := 0;
while i < n
if T[i] = P[j]
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 16
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
if j = m – 1
return i - j { so khớp }
else
i := i + 1;
j := j + 1;
else
if j > 0
j := Next[j - 1]

else
i := i + 1
return -1 { Không tìm thấy mẫu }
II.1.3 Thuật toán Boyer-Moore :
II.1.3.1 Tư tưởng:
Thuật toán Boyer Moore là thuật toán có tìm kiếm chuỗi rất có hiệu quả trong thực tiễn.
Thuật toán Boyer-Moore kiểm tra các ký tự của mẫu từ phải sang trái và khi phát hiện sự khác
nhau đầu tiên thuật toán sẽ tiến hành dịch cửa sổ :
Cách thứ 1: Dịch sao cho những phần đã so sánh trong lần trước khớp với những phần giống
nó trong lần sau.
Cách thứ 2: Coi ký tự đầu tiên không khớp trên văn bản là b=T[j+i-1] ta sẽ dịch sao cho có
một ký tự giống b trên xâu mẫu khớp vào vị trí đó (nếu có nhiều vị trí xuất hiện b trên xâu mẫu
chọn vị trí phải nhất)
II.1.3.2 Giải thuật:
Procedure Initskipt(P:string;m:integer; skip:array of ineteger);
Var i:integer;
Begin
For i:=0 to len(alphabet)
skip[i]:=m
For j:=1 to m do
If skip(ord(P[j]))=m then
Skip(ord(P[j])=m-j
End if
End;
Procedure Boyermoore(P:string; m:integer; T:string; n:integer);
Var i,j:integer;
Begin
InitSkip(P,m,skip);
i:=n; j:=m;
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 17

“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
Repeat
If P[j]=T[i] then
Begin
i:=i-1; j:=j-1;
End
Else Begin
If m-j+1>skip[ord(T[i])] then
i:=i+m-j+1
Else i:=i+skip[ord(T[i])]
j:=m;
End;
Until (j<1) or (i>n);
If j<1 then output (i+1)
End;
Trong cách dịch thứ 2 thuật toán Boyer Moore có thể đạt tới chi phí O(n/m) trong trường
hợp chuỗi ban đầu không lớn và bộ ký tự không nhỏ.
II.2 Nhận định các thuật toán đối sánh mẫu:
Như vậy ngoài thuật toán Brute Force tìm kiếm theo kiểu vét cạn thuật toán Knuth Morris
Pratt và thuật toán Boyer-Moore đều có ưu điểm hơn.
Tuy nhiên còn tùy thuộc vào đặc điểm của các chuỗi so sánh. Nếu chuỗi so sánh là các chuỗi
có số lượng chữ cái lớn (số lần lặp lại các chữ cái trong chuỗi nhỏ) thì thuật toán Boyer-Moore
đặc biệt hiệu quả. Ngược lại đối với các chuỗi nhị phân thì thuật toán này không giúp ích gì
nhiều vì chỉ có 2 khả năng để cho các ký tự trở thành không khớp (0 hoặc 1) .
II.3 Thuật toán phân cụm dữ liệu dựa vào tìm kiếm:
Các thuật toán gom cụm khác nhau thích hợp với các kiểu khác nhau về tập dữ liệu và các
mục tiêu khác nhau. Vì vậy thuật toán gom cụm “tốt nhất” để sử dụng tùy thuộc vào ứng dụng.
Thuật toán gom cụm theo phương pháp phân hoạch K-means đã được sử dụng rộng rãi. Cho tập
các đối tượng, mục tiêu gom cụm hay phân mảnh là chia tập đối tượng này thành nhiều nhóm
hay “cụm” sao cho các đối tượng trong một cụm có khuynh hướng tương tự nhau hơn so với đối

tượng khác nhóm, giúp cho giải thuật tìm kiếm thông tin hiệu quả với khối lượng dữ liệu lớn,
nhanh chóng và chính xác.
II.3.1 Thuật toán K-Means :
II.3.1.1 Tư tưởng:
Thuật toán k-means là thuật toán gom cụm lặp đơn giản. Nó phân mảnh tập dữ liệu cho
trước thành k cụm, giá trị k do người dùng xác định. Thuật toán dễ thực hiện, thi hành nhanh,
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 18
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
dễ thích nghi và phổ biến trong thực tế. Đây là một trong những thuật toán kinh điển trong
khai thác dữ liệu.
Thuật toán k-means áp dụng cho các đối tượng được biểu diễn bởi các điểm trong không
gian vectơ d chiều U {x | i 1, , N} i = = , với di x ∈ ℜ biểu thị đối tượng (hay điểm dữ liệu) thứ
i.
Thuật toán k-means gom cụm toàn bộ các điểm dữ liệu trong U thành k cụm C ={C1, C2, …
, Ck }, sao cho mỗi điểm dữ liệu xi nằm trong một cụm duy nhất. Để biết điểm dữ liệu thuộc
cụm nào người ta gán cho nó một mã cụm.
Các điểm có cùng mã cụm thì ở cùng cụm, trong khi các điểm khác mã cụm thì ở trong các
cụm khác nhau. Một cụm có thể biểu thị bằng vec-tơ liên thuộc cụm v có độ dài N, với vi là mã
cụm của xi.
Giá trị k là đầu vào của thuật toán. Giá trị k dựa trên tiêu chuẩn tri thức trước đó. Sẽ có bao
nhiêu cụm thực sự xuất hiện trong U, bao nhiêu cụm được đề nghị cho ứng dụng hiện hành, hay
các kiểu cụm được tìm thấy bằng cách dựa vào thực nghiệm với nhiều giá trị k khác nhau.
Trong các thuật toán gom cụm, các điểm được nhóm theo khái niệm “độ gần” hay “độ
tương tự”. Với k-means, phép đo mặc định cho “độ tương tự” là khoảng cách Euclide.
Công thức hội tụ hàm mục tiêu
Nói cách khác, k-means cố gắng cực tiểu khoảng cách Euclide tổng bình phương giữa
mỗi điểm xi và thể hiện cụm gần nhất của nó Cj. Biểu thức trên thường được xem là hàm mục
tiêu k-means.
II.3.1.2 Giải thuật:
Thuật toán k-means, thay đổi giữa 2 bước:

(1) gán lại mã cụm của tất cả điểm trong U
(2) cập nhật các thể hiện cụm dựa trên các điểm dữ liệu trong mỗi cụm.
Thuật toán làm việc như sau: đầu tiên, các thể hiện nhóm được khởi tạo bằng cách chọn k
điểm trong ℜ d. Các k thuật để chọn các hạt giống khởi tạo bao gồm lấy mẫu ngẫu nhiên từ tập
dữ liệu, xem chúng như giải pháp gom cụm tập con nhỏ dữ liệu, hay làm thay đổi giá trị trung
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 19
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
bình toàn cục của k lần dữ liệu. Trongthuật toán ta khởi tạo k điểm ngẫu nhiên. Sau đó thuật
toán lặp 2 bước cho đến khi hội tụ.
Bước 1. [Gán dữ liệu] Mỗi điểm đƣợc gán vào trọng tâm gần nhất.
Bước 2. Tái định vị “độ trung bình”. Mỗi thể hiện nhóm được tái định vị vào tâm của tất cả các
điểm được gán cho nó. Cho trước tập các điểm, thể hiện tốt nhất đối với tập này (theo ý nghĩa
tối thiểu tổng khoảng cách Euclide giữa mỗi điểm và thể hiện) thì không là gì cả ngoài độ trung
bình của các điểm dữ liệu. Đó là lý do tại sao thể hiện nhóm (hay còn gọi là tâm của nhóm)
thường được tính là trung bình nhóm
Thuật toán hội tụ khi việc gán không còn thay đổi. Người ta có thể thấy rằng hàm mục tiêu
k-means được định nghĩa trong biểu thức trên sẽ giảm bất cứ khi nào có một thayđổi trong bước
gán hay bước tái định vị và sự hội tụ được đảm bảo sau hữu hạn bước lặp.
Đầu vào: Tập dữ liệu D, số cụm k
Đầu ra: Tập thể hiện các cụm C, vectơ liên thuộc cụm m
Chọn ngẫu nhiên k điểm dữ liệu từ D. Xem k điểm này là tập khởi tạo các thể cụm C
repeat
Gán lại các điểm trong D cho trung bình cụm gần nhất
Cập nhật m sao cho m
i
là mã cụm của điểm thứ i trong D
Cập nhật C sao cho c
j
là trung bình các điểm trong cụm j
Until

Hội tụ hàm mục tiêu
Lưu ý:
Mỗi bước lặp cần N k phép so sánh. Đây là độ phức tạp thời gian trong mỗi bước lặp. Số
bước lặp cần cho sự hội tụ thay đổi và có thể tùy thuộc vào N, nhưng ở lần cắt đầu tiên, k-means
có thể được xem là tuyến tính với kích thước tập dữ liệu. Hơn nữa, do thao tác so sánh là tuyến
tính với d nên thuật toán cũng tuyến tính theo chiều dữ liệu.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 20
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
- Hiệu suất ương đối: do t, k << n (t là số lần lặp, k là số cụm, n là tậpvăn bản) cho nên có sự thực
thi rất tốt trong hầu hết các ứng dụng.
- Scalable tương đối: trong khi xử lý các tập dữ liệu lớn.
- Kết thúc ở điểm tối ưu cục bộ, có thể dùng thuật toán di truyền để tìm tối ưu toàn cục.
- K-means là thuật toán gom cụm được sử dụng rộng rãi trong thực tế vì tính đơn giản, dễ hiểu và
có thể chỉnh sửa dễ dàng.
- Thuật toán phân cụm dữ liệu K-means [Faber 1994] đã được sử dụng để phân cụm điểm ảnh
trong hình ảnh Landsat [Faber et al. 1994]
CHƯƠNG III: CÁC CÔNG CỤ HỖ TRỢ TÌM KIẾM THÔNG TIN
III.1 Giới thiệu các công cụ tìm kiếm phổ biến hiện nay:
III.1.1 Bing:
III.1.1.1 Giới thiệu:
Microsoft Bing là bộ máy tìm kiếm Web đại diện cho công nghệ tìm kiếm hiện nay của
Microsoft, được mặc định trong trình duyệt web Internet Explore, điển hình là Live Search,
Windows Live Search và MSN Search.
Ngoài dịch vụ tìm kiếm Web, Bing còn cung cấp nhiều dịch vụ phong phú khác: Bing News
(tìm kiếm tin tức), Bing Videos (tìm kiếm Video), Bing Images (tìm kiếm ảnh), Bing Maps (tìm
kiếm địa điểm),
Hiện nay, Bing đã vượt qua Yahoo để trở thành công cụ tìm kiếm phổ biến thứ 2 trên thế
giới. Công cụ tìm kiếm vẫn đang trên đà tăng trưởng và ngày càng tạo thêm khoảng cách với
Yahoo.
III.1.1.2 Ví dụ về một số tính năng điển hình Bing:

• Tắt hình nền trên trang tìm kiếm của Bing:
Đặc biệt nổi bật của Bing so với Google đó là luôn xuất hiện một hình nền sinh động và đẹp
mắt ở trang chủ của mình. Tuy nhiên không phải ai cũng cảm thấy thoải mái khi hình nền này
hiển thị. Vì 1 lý do nào đó, bạn muốn tắt đi hình nền này, chỉ việc ghé thăm địa chỉ
Từ nay về sau, hình nền trên Bing sẽ biến mất hoàn toàn.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 21
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
Hình 3-1: Ví dụ về tính năng Bing
Trong trường hợp muốn trang chủ xuất hiện hình nền lại như cũ, bạn truy cập vào
/>• Tìm kiếm trang web có chứa định dạng file nhất định:
Bạn có thể thêm từ khóa ‘contains:<định dạng file>’ vào nội dung tìm kiếm nếu muốn tìm
kiếm các website có chứa file với định dạng đã chọn. Kết quả sẽ trả về các website có chứa
đường link dẫn tới file định dạng đã chọn.
Ví dụ: nếu tìm kiếm với từ khóa ‘kinh tế contains:pdf’, kết quả sẽ trả về các website có nội
dung có chứa đường link của file pdf về kinh tế.
• Giới hạn kết quả tìm kiếm ở một quốc gia nhất định:
Tiến hành tìm kiếm, kết quả sẽ ưu tiên các website từ quốc gia mà bạn chọn.
Với Bing, số quốc gia được hỗ trợ chưa thực sự nhiều (Việt Nam chưa được Bing hỗ trợ).
Để làm điều này, bạn phải thêm từ khóa ‘loc:<tên quốc gia>’ vào nội dung tìm kiếm. So với
Google, Bing còn thua kém vì chưa có phạm vi tìm kiếm rộng rãi ở các quốc gia trên toàn thế
giới
Chẳng hạn, để tìm kiếm các khách sạn tại Việt Nam, bạn sẽ tìm kiếm theo từ khóa ‘Hotel
loc:vn’.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 22
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
Hình 3-2: Tính năng lọc theo vùng trên Bing
III.1.2 Yahoo:
III.1.2.1 Giới thiệu:
Ngoài dịch vụ tìm kiếm Web, Yahoo cũng tận dụng công nghệ tìm kiếm của mình vào nhiều
dịch vụ tìm kiếm phong phú khác, bao gồm: tin tức (Yahoo! News), Blog (Yahoo! 360Plus),

nghe nhạc (Yahoo! Music), xem phim (Yahoo Movies), Yahoo! Mobile, Chat trực
tuyếnYahoo! Messenger và dịch vụ Yahoo! Mail nên rất tiện lợi cho người dùng trong
việc trao đổi thông tin và Email hàng ngày.
Từ khi ra đời, Yahoo! Search luôn là công cụ tìm kiếm phổ biến thứ 2 trên thế giới, nhưng
trong những năm gần đây, thị phần tìm kiếm của Yahoo! Search ngày càng giảm. Và đến đầu
năm 2012, công cụ tìm kiếm Bing lần đầu tiên vượt qua Yahoo, trở thành công cụ tìm kiếm phổ
biến thứ 2 trên thế giới.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 23
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
Hình 3-3: Công cụ tìm kiếm Yahoo search
Hiện nay, Yahoo đang cải tiến dịch vụ tìm kiếm với chiến lược mở rộng thị trường tìm kiếm
là dự án “Open Search” Yahoo sẽ mở toàn bộ cơ sở hạ tầng để bất kỳ cá nhân hay tổ chức nào
có thể tạo ra một máy tìm kiếm riêng cho mình mà không phải ràng buộc như hình thức “tài trợ
bởi” Yahoo!.
Chức năng “Tìm kiếm theo cấu trúc” là một trong những tính năng “át chủ bài” mà Yahoo
dự định sẽ tung ra thị trường trong thời gian tới nhằm cạnh tranh với các đối thủ như Google
hay Microsoft và Yahoo cũng đang nghiên cứu phát triển một kiến trúc tìm kiếm phân tán mới
(distributed search architecture) có khả năng đẩy nhanh hơn nữa tốc độ tìm kiếm
III.1.2.2 Ví dụ về một số tính năng điển hình Yahoo:
• Tìm kiếm trực tiếp- Yahoo search Direct:
Tính năng tìm kiếm siêu tốc tương tự như Google Instant mang tên Search Direct, giúp người
dùng tìm kiếm nhanh hơn, đa dạng và cho ra kết quả chính xác. Thế nhưng, không hiển thị kết
quả toàn màn hình như Google Instant, Yahoo Search Direct chỉ hiển thị kết quả mà người dùng
tìm kiếm trong một cửa sổ nhỏ mà không cần rời trang tìm kiếm. Hơn nữa, kết quả sẽ được
cập nhật sau mỗi 10 phút, vì thế việc tìm kiếm sẽ luôn đảm bảo cung cấp cho người dùng những
thông tin mới nhất.
Ví dụ: nếu từ khóa là một sản phẩm nào đó thì Search Direct sẽ gợi ý giá bán của sản phẩm đó.
Thậm chí bạn có thể tra thời tiết của một vùng nào đó bằng Search Direct Nếu bạn gõ từ khóa
với một chữ cái thì hầu hết kết quả trả về sẽ là các dịch vụ của Yahoo, ví dụ khi gõ chữ "a" sẽ là
Yahoo! Answers, chữ "d" sẽ là Yahoo! Deals

HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 24
“ NHỮNG CẢI TIẾN THÔNG MINH TRONG BỘ TÌM KIẾM GOOGLE”
Hình 3 -4: Tính năng tìm kiếm Iphone 5 - Yahoo search Direct
• Tìm kiếm chỉ trong một website duy nhất:
Yahoo! Search sẽ tiết kiệm cho bạn một bước trung gian và cho phép tìm kiếm chỉ trong một
website duy nhất.
Nếu như trong công cụ tìm kiếm Google, người dùng muốn tìm thông tin bất kì trên trang
Wikipedia sẽ phải chờ kết quả tìm kiếm, đồng thời chuyển sang một địa chỉ website mới hoặc
phải có kỹ năng tìm kiếm nhất định.
Chẳng hạn, muốn tìm thông tin về Yahoo trên Wikipedia, chỉ cần gõ !wiki yahoo vào ô Search
để tìm thông tin về Yahoo trên bách khoa toàn thư mở trực tuyến Wikipedia.com. Kết quả sẽ tự
động chuyển sang đúng trang wiki mà bạn cần. Tính năng này còn có thể áp dụng trên một số
trang khác !ebay, !amazon, !flickr.
HVTH: Nguyễn Hoàng Sỹ - MSHV: CH 1101037 Trang 25

×