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

KHAI THÁC dữ LIỆU MẠNG xã hội để NÂNG CAO HIÊU QUẢ tìm KIẾM WEB THEO HƯỚNG NGƯỜI DÙNG

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 (9.04 MB, 75 trang )

ĐẠI HỌC QUỐC GIA TP HCM
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
˜«™

NGUYỄN THÀNH LUÂN

KHAI THÁC DỮ LIỆU MẠNG XÃ HỘI
ĐỂ NÂNG CAO HIỆU QUẢ TÌM KIẾM WEB
THEO HƯỚNG NGƯỜI DÙNG

LUẬN VĂN THẠC SĨ
NGÀNH KHOA HỌC MÁY TÍNH
Mã số: 60.48.01.01

TP HỒ CHÍ MINH - 2017


LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của cá nhân tôi, không sao
chép của bất cứ ai. Các số liệu, kết quả nêu trong luận văn là trung thực và chưa
được công bố trong các công trình khác. Tôi xin hoàn toàn chịu trách nhiệm về
công trình nghiên cứu của mình.
Học viên

Nguyễn Thành Luân

Page ii


LỜI CẢM ƠN


Trước tiên, tôi xin gửi lời cảm ơn chân thành và sâu sắc đến PGS.TS. Vũ
Thanh Nguyên đã hướng dẫn nhiệt tình và tạo mọi điều kiện để tôi có thể hoàn
thành tốt luận văn này. Trong thời gian làm việc với thầy tôi không những đã học
hỏi được nhiều kiến thức bổ ích mà còn học được tinh thần làm và thái độ làm việc
nghiêm túc.
Bên cạnh đó, chúng tôi xin gởi lời cảm ơn chân thành đến tất cả quý thầy cô
trường Đại học Công Nghệ Thông Tin. Thầy cô không chỉ truyền dạy cho tôi những
kiến thức nền tảng vô cùng bổ ích mà còn chia sẻ thêm cho tôi những kinh nghiệm
quý báu về phương pháp nghiên cứu. Tôi xin hứa sẽ vận dụng tốt những kiến thức
đó trong quá trình học tập, nghiên cứu và làm việc sắp tới.
Gia đình vừa là nguồn động viên, vừa là chỗ dựa tinh thần cho tôi hoàn thành
khóa luận này. Tuy có những lúc căng thẳng, mệt mỏi nhưng tôi không bao giờ
chùn bước vì được sự động viên tích cực từ phía gia đình. Tôi xin cảm ơn gia đình
đã luôn động viên và ủng hộ tôi trong suốt quá trình nghiên cứu.
Mặc dù đã cố gắng hoàn thiện luận văn với tất cả sự nỗ lực của bản thân,
nhưng chắc chắn không thể tránh khỏi những thiếu sót. Tôi kính mong nhận được
sự thông cảm và chỉ bảo của quý Thầy Cô và các bạn.
Tôi xin chân thành cảm ơn!

Học viên

Nguyễn Thành Luân

Page iii


MỤC LỤC
LỜI CAM ĐOAN ...................................................................................................... ii
LỜI CẢM ƠN ........................................................................................................... iii
DANH MỤC ĐỐI CHIẾU THUẬT NGỮ ANH-VIỆT .............................................3

DANH MỤC CÁC TỪ VIẾT TẮT ............................................................................5
DANH MỤC CÁC BẢNG .........................................................................................6
DANH MỤC HÌNH VÀ ĐỒ THỊ ..............................................................................7
CHƯƠNG 1.

GIỚI THIỆU ĐỀ TÀI .......................................................................8

1.1 Giới thiệu .........................................................................................................8
1.2 Đặt vấn đề ........................................................................................................9
1.3 Phương pháp tiếp cận.....................................................................................10
1.4 Các công trình liên quan ................................................................................11
1.5 Mục tiêu và phạm vi của khóa luận ...............................................................12
1.6 Cấu trúc luận văn ...........................................................................................13
CHƯƠNG 2.

CƠ SỞ LÝ THUYẾT ......................................................................14

2.1 Công cụ tìm kiếm thông tin ...........................................................................14
2.2 Các thành phần của một hệ thống tìm kiếm...................................................16
2.3 Giới thiệu giải thuật PageRank ......................................................................17
2.3.1 Giới thiệu ...............................................................................................17
2.3.2 Mô hình PageRank ................................................................................18
2.3.3 Giải thuật PageRank ..............................................................................19
2.4 Giải thuật LPageRank ....................................................................................21
2.5 Chú thích cộng đồng (Social Annotation) .....................................................23
2.5.1 Ý nghĩa và mục đích của chú thích .......................................................23
2.5.2 Một số hệ thống mạng xã hội, chú thích phổ biến.................................24
2.6 Mạng xã hội Twitter và Twitter APIs ............................................................35
2.6.1 Mạng xã hội Twitter ..............................................................................35
2.6.2 Twitter APIs ..........................................................................................37


Page 1


2.7 Mô hình không gian vector ............................................................................38
2.7.1 Mô hình Boolean ...................................................................................39
2.7.2 Mô hình tần suất ....................................................................................40
2.8 Hệ thống tìm kiếm với chú thích cộng đồng..................................................41
2.8.1 Xếp hạng tương đồng dựa trên Term-Matching ....................................43
2.8.2 Độ đo Social Similarity Ranking – SSR................................................44
2.8.3 Xếp hạng trang web với độ đo SocialPageRank (SPR).........................47
2.8.4 Chuẩn hoá câu truy vấn với giải thuật Personalized Social Query
Expansion (SoQuES) ........................................................................................49
2.8.5 Xếp hạng trang web với phương pháp Social Personalized Ranking
(SoPRa) .............................................................................................................52
CHƯƠNG 3.

XÂY DỰNG HỆ THỐNG ..............................................................55

3.1 Mô hình hệ thống ...........................................................................................55
3.2 Phân hệ hoạt động offline ..............................................................................56
3.3 Tiền xử lý dữ liệu ...........................................................................................59
3.4 Search Engine ................................................................................................60
CHƯƠNG 4.

KẾT QUẢ THỰC NGHIỆM VÀ ĐÁNH GIÁ ...............................62

4.1 Phương pháp đánh giá ...................................................................................62
4.2 Môi trường thực nghiệm ................................................................................63
4.3 Dữ liệu thực nghiệm ......................................................................................63

4.4 Kết quả thực nghiệm ......................................................................................64
CHƯƠNG 5.

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ......................................67

5.1 Kết quả đạt được ............................................................................................67
5.2 Những khó khăn và hạn chế ..........................................................................68
5.3 Hướng phát triển ............................................................................................68
TÀI LIỆU THAM KHẢO ........................................................................................70

Page 2


DANH MỤC ĐỐI CHIẾU THUẬT NGỮ ANH-VIỆT

Thuật ngữ tiếng Anh

Thuật ngữ tiếng Việt

Annotation

Chú thích

Crawler

Chương trình thu thập dữ liệu trên web

Twitter

Hệ thống mạng xã hội


Descriptions

Mô tả

Index

Chỉ mục

Internet

Hệ thống mạng thông tin toàn cầu

Keywords

Từ khóa

Link

Liên kết

Mean Average Precision

Độ chính xác trung bình

Offline

Không trực tuyến

Online


Trực tuyến

Page

Trang web

Search engine

Cỗ máy/Công cụ tìm kiếm

Social search

Tìm kiếm với chú thích xã hội

Search engine user

Người sử dụng công cụ tìm kiếm

Server

Máy chủ

Social Annotation

Chú thích cộng đồng

Spider

Một dạng tác tử thăm dò trang web


Tag

Chú thích

User

Người sử dụng

Page 3


Web log

Nhật ký truy cập web

Web page annotator

Người chú thích trang web

Web page creator

Người tạo lập trang web

Website

Tập hợp trang web nằm trong một tên miền

Term Frequency – Inverse
Document Frequency


Trọng số từ khóa – TD-IDF

Term Frequency

Tần số xuất hiện của từ khóa trong một tài liệu

Inverse Document Frequency

Tần số xuất hiện của từ khóa trong tất cả tài liệu

Page 4


DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt
A
HTML
MAP
P

Thuật ngữ
Annotaion
Hypertext Text Markup Language
Mean Average Precision
Page

VSM

Vector Space Model


SSR

Social Similarity Ranking

SPR

Social Page Ranking

SoPRa
SoQuES
U
URL

Social Personalized Ranking
Personalized Social Query Expansion
User
Uniform Resource Locator

Page 5


DANH MỤC CÁC BẢNG

Bảng 2.1

Danh sách 15 trang web chú thích phổ biến nhất [18]

25


Bảng 2.2

Các thuật ngữ trong Twitter

36

Bảng 4.1

Kết quả đánh giá bởi độ đo Average Precision

64

Page 6


DANH MỤC HÌNH VÀ ĐỒ THỊ
Hình 2.1 Mô tả liên kết vào và liên kết ra trong giải thuật PageRank ......................18
Hình 2.2 Hệ thống Facebook () .....................................26
Hình 2.3 Hệ thống Twitter () .......................................................27
Hình 2.4 Hệ thống Pinterest () ...................................................28
Hình 2.5 Hệ thống Google+ () ............................................29
Hình 2.6 Hệ thống reddit () ..................................................30
Hình 2.7 Hệ thống StumbleUpon () ..........................31
Hình 2.8 Hệ thống Delicious () .................................................32
Hình 2.9 Hệ thống digg () ................................................................33
Hình 2.10 Hệ thống FARK () ..................................................34
Hình 2.11 Hệ thống Slashdot () ...................................................35
Hình 2.12 Kiến trúc mô hình REST API ..................................................................37
Hình 2.13 Kiến trúc mô hình Streaming API ...........................................................38
Hình 2.14 Minh họa hệ thống social search với SocialSimRank [1] ........................42

Hình 2.15 Minh họa giải thuật SocialSimRank ........................................................45
Hình 2.16 Minh họa quá trình tính toán SPR [1] ......................................................49
Hình 2.17 Minh họa độ đo của trang web bằng phương pháp SoPRa. .....................53
Hình 3.1 Mô hình hoạt động của hệ thống tìm kiếm ................................................56
Hình 3.2 Cấu trúc hoạt động của Data Miner ...........................................................57
Hình 3.3 Quá trình thu thập dữ liệu từ twitter.com ..................................................58
Hình 3.4 Mô hình hoạt động của Search Engine ......................................................60
Hình 4.1 Biểu đồ thể hiện giá trị Average Precision của các câu truy vấn...............65

Page 7


CHƯƠNG 1.

GIỚI THIỆU ĐỀ TÀI

1.1 Giới thiệu
Ngày nay, Internet đang phát triển một cách mạnh mẽ, đi sâu vào mọi lĩnh vực
của cuộc sống và đã trở thành một kênh thông tin quan trọng trong cuộc sống của
con người. Với sự bùng nổ đó đã kéo theo sự phát triển nhanh chóng cả về số lượng
lẫn nội dung của kho tài liệu trực tuyến này. Các website phát triển ngày càng
nhiều, càng đa dạng về cấu trúc lẫn nội dung trang web. Vì vậy, không có gì ngạc
nhiên khi lượng thông tin quá tải, hỗn độn, rối rắm thường làm sai lệch các thông
tin mà người dùng muốn tìm kiếm cũng như khi duyệt web. Chính vì lẽ đó mà các
“máy tìm kiếm” – Search Engine được xây dựng như là một công cụ để giúp người
dùng tìm và chọn được các thông tin phù hợp với mình.
Với sự phát triển của các công nghệ web 2.0, những hệ thống đánh dấu dựa trên
web, bao gồm các hệ thống chú thích cộng đồng (Delicious) cũng như mạng xã hội
(Twitter, Facebook) ngày càng trở nên rất phổ biến. Các hệ thống này cho phép
người sử dụng web chú thích hoặc gán nhãn cho các tài nguyên web mà họ quan

tâm (tổ chức và chia sẻ trực tuyến các trang web mà họ quan tâm bằng cách sử dụng
các chú thích cộng đồng). Các chú thích này thường là những tóm lược của các
trang web tương ứng. Vậy làm cách nào để có thể tận dụng tốt lợi ích của các chú
thích cộng đồng này vào công cụ tìm kiếm.
Để tìm được các trang web phù hợp với yêu cầu của người dùng, các hệ thống
tìm kiếm thường dựa vào một độ đo nào đó để tính sự tương đồng giữa câu truy vấn
của người dùng với nội dung của trang và mỗi trang sẽ có một độ đo về tầm quan
trọng của nó. Theo một nghiên cứu từ [14], hiện có 3 hướng cải tiến chính cho việc
nâng cao hiệu quả tìm kiếm web đó là:
(i)

Chuẩn hoá lại câu truy vấn, bao gồm việc thêm hoặc bớt các từ khoá
cho câu truy vấn.

Page 8


(ii)

Sắp xếp lại kết quả tìm kiếm dựa trên ngữ cảnh hoặc thông tin của
người dùng.

(iii)

Cải tiến mô hình tìm kiếm thông tin.

Trong nghiên cứu này, tôi sẽ tập trung nghiên cứu phương pháp (i) chuẩn hoá
câu truy vấn từ người dùng kết hợp với (ii) xếp hạng lại kết quả tìm kiếm theo
hướng người dùng dựa trên chú thích cộng đồng, để từ đó xây dựng một hệ thống
tìm kiếm hiệu quả.


1.2 Đặt vấn đề
Như vậy xây dựng một công cụ tìm kiếm hiệu quả là rất cần thiết. Vấn đề là
làm sao kết hợp nhiều yếu tố về mối quan tâm và sở thích của người dùng, sự tương
đồng về nội dụng, cấu trúc mạng của trang web, … để xây dựng một công cụ tìm
kiếm hiệu quả. Vấn đề đặt ra ở đây là :
1.

Ngày nay, với sự xuất hiện phổ biến của các trang mạng xã hội, nơi mà
cho phép người dùng đánh dấu lên một trang web nào đó. Điều này phần
nào thể hiện mối quan tâm của người dùng lên một trang web nào đó. Các
từ khóa được đánh dấu phần nào có liên hệ với nhau. Như vậy, cần khai
thác nguồn dữ liệu chú thích cộng đồng này như thế nào trong xây dựng
công cụ tìm kiếm?.

2.

Với lượng thông tin khổng lồ như hiện này thì việc tìm thông tin liên
quan ngày càng trở khó khăn cho người dùng cuối bởi vì: thông thường,
người dùng ko thực sự biết rõ những gì mình đang tìm kiếm cho đến khi
tìm thấy nó; nếu có biết thì người dùng cũng không biết dùng câu truy
vấn nào cho phù hợp với nhu cầu. Vì vậy việc chuẩn hoá câu truy vấn là
vấn đề cần được quan tâm và khai thác.

3.

Vấn đề đánh giá các trang web (ranking) hiện nay chưa có (hoặc có
nhưng chưa đủ) sự quan tâm đến hành vi truy cập và mối quan tâm của
người dùng. Do vậy cần khai thác đến khía cạnh này cho việc đánh giá
trang web.

Page 9


1.3 Phương pháp tiếp cận
Với sự phát triển của các công nghệ web 2.0, các mạng xã hội cũng như các
hệ thống chú thích cộng đồng ngày càng trở nên rất phổ biến. Các hệ thống này cho
phép người sử dụng web chú thích hoặc gán nhãn cho các tài nguyên web mà họ
quan tâm, điển hình là các hệ thống Twitter, Facebook, Delicious, … [18].
Năm 2006, Dmitriev và các cộng sự đã nghiên cứu cách sử dụng chú thích
cộng đồng để cải thiện chất lượng của Enterprise search [3]. Năm 2007, Freyne và
các cộng sự sử dụng chú thích cộng đồng để sắp xếp kết quả tìm kiếm các bài báo
nghiên cứu [6].
Năm 2007, Shenghua Bao và các cộng sự trong bài báo của mình [1] đã cho
rằng: “Chú thích cộng đồng cung cấp một nguồn dữ liệu sạch, tổng quát thể hiện
mối quan tâm cũng như sở thích của người sử dụng với một trang web nào đó”.
Năm 2011, Bouadjenek cùng các cộng sự của ông trong [11] đã đề xuất một
phương pháp chuẩn hoá câu truy từ người dùng - SoQuES. Phương pháp này khai
thác sự tương đồng về ngữ nghĩa giữ các chú thích trong câu truy vấn và mối quan
tâm của người dùng thông qua thông tin của họ.
Năm 2013, M.R. Bouadjenek, H. Hacid, M. Bouzeghoub trong [12] đã đề xuất
một phương pháp xếp hạng mới gọi là SoPRa, dựa trên personalized social ranking.
Phương pháp này nghiên cứu việc sử dụng chú thích cộng đồng kết hợp khai thác
mối quan tâm của người dùng để nâng cao hiệu quả tìm kiếm.
Do vậy, luận văn tập trung khai thác nguồn chú thích cộng đồng từ mạng xã
hội Twitter, sau đó tiến hành chuẩn hoá câu truy vấn của người dùng bằng phương
pháp SoQuES và cuối cùng là xếp hạng lại kết quả tìm kiếm bằng phương pháp
SoPRa.

Page 10



1.4 Các công trình liên quan
Hiện nay, có rất nhiều phương pháp khác nhau được sử dụng trong các công
cụ tìm kiếm nhằm nâng cao hiệu quả trong quá trình tìm kiếm. Phần này liệt kê một
số công trình nghiên cứu trong và ngoài nước có liên quan đến các lĩnh vực nghiên
cứu của đề tài này.
-

Năm 1998, Google giới thiệu giải thuật PageRank được xem là một trong
những độ đo chính xác thể hiện mức độ quan trọng của một trang [4]. Tuy
nhiên giải thuật này chỉ cứng nhắc xem xét đến cấu trúc liên kết giữa các
trang web mà không quan tâm đến các đặc tính khác. Dựa trên đặc tính này
người tạo website có thể tận dụng để tăng hạng trang.

-

Năm 2006, P. A. Dmitriev, N. Eiron, M. Fontoura, and E. Shekita [3], nghiên
cứu cách sử dụng chú thích cộng đồng trong Enterprise Search.

-

Năm 2007, Shenghua Bao, Xiaoyuan Wu, Ben Fei, Guirong Xue, Zhong Su,
and Yong Yu trong [1] lần đầu tiên đề cập đến sự quan tâm của người dùng
bằng cách xem xét đến các chú thích cộng đồng. Qua đó tác giả đã xây dựng
giải thuật SocialSimRank và SocialPageRank. Độ đo này phản ánh một phần
nào đó mối quan hệ giữa các từ khóa xuất hiện trong trang web đó.

-

2007, Noll and Meinel [5] đề xuất phương pháp tìm kiếm hướng người dùng,

phương pháp đã khai thác chú thích của người dùng và các trang web để cải
thiện hệ thống tìm kiếm web. Phương pháp tuy đơn giản nhưng mang lại
hiểu quả cao.

-

Năm 2008, Ding Zhou và các cộng sự đã nghiên cứu và sử dụng chú thích
cộng đồng trong truy xuất thông tin (Information Retrieval) [7] và đã mang
lại kết quả khả quan.

-

2008, Xu et al. [2] đã xây dựng một framework tận dụng folksonomy để cải
thiện kết quả tìm kiếm.

-

Năm 2009, Vũ Thanh Nguyên [8], đã nghiên cứu và kết hợp sử dụng chú
thích cộng đồng cùng với weblog để cải thiện chất lượng tìm kiếm trang
web. Tuy nhiên, chỉ ứng dụng trong việc tìm kiếm cục bộ.
Page 11


-

Năm 2010, Vallet et al. [9] đã sử dụng các thông tin liên quan đến người
dùng và trang web cho tìm kiếm web theo hướng người dùng.

-


Năm 2011, Bouadjenek cùng các cộng sự [11] đã đề xuất một phương pháp
chuẩn hoá câu truy. Phương pháp này khai thác sự tương đồng về ngữ nghĩa
giữ các chú thích trong câu truy vấn và mối quan tâm của người dùng thông
qua thông tin của họ.

-

Năm 2013, M.R. Bouadjenek, H. Hacid, M. Bouzeghoub trong [12] đã đề
xuất một phương pháp xếp hạng mới gọi là SoPRa, dựa trên personalized
social ranking. Phương pháp này nghiên cứu việc sử dụng chú thích cộng
đồng kết hợp khai thác mối quan tâm của người dùng để nâng cao hiệu quả
tìm kiếm.

Hầu hết các hướng tiếp cận trên đều được thực hiện trong ngữ cảnh của
folksonomies và có chung ý tưởng là độ quan trọng của một trang web (xếp hạng
trang) được dựa trên hai yếu tố chính đó là độ tương đồng về nội dung và độ tương
đồng về mối quan tâm của người dùng đối với trang web đó.
Từng bài báo đóng góp một phần đáng kể trong việc giải quyết bài toán làm thế nào
để nâng cao hiệu quả của các hệ thống tìm kiếm thông tin trên mạng. Tuy nhiên,
việc khai thác mối quan tâm người dùng cũng như làm giảm các kết quả không phù
hợp vào công cụ tìm kiếm để nâng cao hiệu quả tìm kiếm cũng còn khá là thưa thớt.

1.5 Mục tiêu và phạm vi của khóa luận
Mục tiêu chính của khóa luận là khai thác chú thích cộng đồng kết với các thuật
toán sử dụng chú thích cộng đồng nhằm nâng cao hiệu quả tìm kiếm web, cụ thể
như sau:
-

Khai thác dữ liệu chú thích cộng đồng từ mạng xã hội Twitter.


-

Sử dụng giải thuật SocialSimRank để tính độ tương đồng giữa các từ.

-

Chuẩn hoá câu truy vấn theo hướng người dùng bằng giải thuật SoQuES.

Page 12


-

Ứng dụng phương pháp SoPRa để đo lường mức độ quan trọng của trang
web đối với câu truy vấn. Để từ đó, xây dựng một công cụ tìm kiếm nhằm hỗ
trợ người dùng tìm kiếm nhanh chóng và hiệu quả.

Phạm vi khóa luận:
-

Dữ liệu chú thích cộng đồng sử dụng cho công cụ tìm kiếm được lấy từ
mạng xã hội Twitter (twitter.com).

-

Chỉ hỗ trợ tìm kiếm theo từng từ khóa trong câu truy vấn. Qua đó trả ra tập
kết quả các trang web chứa một trong số các từ khóa có trong câu truy vấn.

-


Luận văn không xử lý vấn đề ngữ nghĩa giữa câu truy vấn và tập tài liệu.

-

Hệ thống hỗ trợ người dùng tìm kiếm bằng ngôn ngữ tiếng anh.

1.6 Cấu trúc luận văn
Phần còn lại của luận văn được tổ chức theo cấu trúc sau:
Chương 2: Trình bày các cơ sở lý thuyết được sử dụng trong luận văn.
Chương 3: Chi tiết xây dựng các thành phần của công cụ tìm kiếm.
Chương 4: Kết quả thực nghiệm và đánh giá.
Chương 5: Kết quả đạt được và hướng phát triển.

Page 13


CHƯƠNG 2.

CƠ SỞ LÝ THUYẾT

Các cơ sở lý thuyết nền tảng mà khóa luận áp dụng sẽ được đề cập trong chương
này. Nội dung trong chương này bao gồm các phần chính sau:
• Kiến thức nền tảng về công cụ tìm kiếm.
• Các giải thuật xếp hạng trang cơ bản: PageRank, LPageRank.
• Chú thích cộng đồng và một số hệ thống chú thích phổ biến.
• Mạng xã hội Twitter và Twitter APIs.
• Mô hình không gian vector (VSM).
• Giải thuật SocialSimRank, SocialPageRank.
• Giải thuật SoQuES.
• Phương pháp SoPRa.


2.1 Công cụ tìm kiếm thông tin
Ngày nay, người sử dụng có thể tìm kiếm thông tin đa dạng về mọi mặt của xã
hội loài người trên Internet. Tuy nhiên, do lượng thông tin trên Internet là khổng lồ,
đang từng ngày từng giờ tăng trưởng với tốc độ cao, cho nên việc giải bài toán tìm
và cung cấp thông tin được người dùng thực sự quan tâm trong thời gian cho phép
đã trở thành công việc hết sức cấp thiết. Công nghệ xây dựng công cụ tìm kiếm
thông tin trên Internet (điển hình là hệ thống tìm kiếm - search engine) ngày càng
không ngừng được cải tiến nhằm bảo đảm thỏa mãn yêu cầu người dùng cả theo
khía cạnh thời gian tìm kiếm nhanh lẫn tính phù hợp cao giữa các trang thông tin
kết quả tìm được với yêu cầu tìm kiếm của người dùng. Như vậy, việc tìm kiếm
thông tin trên web không đơn thuần giống như các tài liệu phẳng khác, mà nó đòi
hỏi nhiều yêu cầu và tính phức tạp trong việc xử lý thông tin hơn.
Khi người dùng nhập vào một nhóm từ khóa tìm kiếm, máy tìm kiếm sẽ thực
hiện nhiệm vụ tìm kiếm và trả lại một số trang Web theo yêu cầu người dùng.
Nhưng số các trang Web liên quan đến từ khóa tìm kiếm có thể lên tời hàng vạn
Page 14


trang, trong khi người dùng chỉ quan tâm đến một số ít trang trong đó. Vì vậy việc
tìm ra các trang đáp ứng nhiều nhất yêu cầu người dùng để đưa lên đầu là rất cần
thiết. Đó chính là công việc tính hạng trang của máy tìm kiếm - sắp xếp các trang
kết quả theo thứ tự giảm dần của độ quan trọng.
Chính vì vậy, cần thiết phải xác định phép đo về “độ phù hợp” của một trang web
tìm được với yêu cầu người dùng. Liên quan tới việc xác định phép đo như vậy,
người ta quan tâm tới hai hướng giải quyết:
• Hướng thứ nhất sử dụng độ quan trọng (được xác định qua một đại lượng
được gọi là hạng trang - page rank) của trang web làm độ phù hợp với yêu
cầu người dùng. Hầu hết các nghiên cứu đều thừa nhận một giả thiết là nếu
một trang web mà có nhiều trang web khác hướng (link) tới thì trang web đó

là trang web quan trọng. Trong trường hợp này, hạng trang được tính toán
chỉ dựa trên mối liên kết giữa các trang web với nhau. Hầu hết các máy tìm
kiếm sử dụng hạng trang làm độ phù hợp của kết quả tìm kiếm với các thuật
toán điển hình là PageRank [4].
• Hướng thứ hai coi độ phù hợp của trang Web với yêu cầu của người dùng
không chỉ dựa trên giá trị hạng trang web như trên mà còn phải tính đến mối
liên quan giữa nội dung trang web đó với nội dung theo yêu cầu của người
dùng mà thuật toán điển hình là Topic-sensitive PageRank [15].
Hiện nay, có một số phương pháp được sử dụng để đo độ quan trọng của các trang
web như sau:
-

Dựa vào các từ khóa trong văn bản: Một trang web được coi là phù hợp nếu
nó có chứa một số hoặc tất cả các từ khóa trong câu truy vấn. Ngoài ra, tần
số xuất hiện của từ khóa trong trang cũng được xem xét.

-

Dựa vào mức độ tương tự với câu truy vấn: Một người dùng có thể chỉ định
một thông tin cần tìm bởi một câu truy vấn ngắn hay bằng các cụm từ dài
hơn. Mức độ tương tự giữa các mô tả ngắn hay dài của người dùng với nội
dung mỗi trang web được tải về có thể sử dụng để xác định tính hợp lệ của
trang web đó.
Page 15


-

Dựa vào mức độ tương tự với trang hạt nhân: Các trang tương ứng với các
URL hạt nhân được sử dụng để đo mức độ hợp lệ của mỗi trang được tải.

Các trang hạt nhân được kết hợp với nhau thành một văn bản lớn duy nhất và
mức độ gần nhau của văn bản này với các trang web đang được duyệt được
sử dụng làm điểm số của trang đó.

-

Dựa vào điểm số phân lớp: Một bộ phân lớp có thể được huấn luyện để xác
định các trang phù hợp với thông tin hoặc nhiệm vụ cần làm. Việc huấn
luyện được tiến hành sử dụng các trang hạt nhân (hoặc các trang web phù
hợp được chỉ định trước) như là các ví dụ dương. Các bộ phân lớp được huấn
luyện sau đó sẽ gán các điểm số nhị phân (0,1) hoặc liên tiếp cho các trang
web được duyệt dựa trên các ví dụ huấn luyện.

-

Dựa vào đánh giá độ quan trọng dựa trên liên kết: Một crawler có thể sử
dụng các thuật toán như PageRank hoặc HITS, để cung cấp một sự đánh giá
độ quan trọng của mỗi trang web được duyệt. Hoặc đơn giản hơn là chỉ sử
dụng số lượng các liên kết tới trang web đó để xác định thông tin này.

2.2 Các thành phần của một hệ thống tìm kiếm
Các hệ thống tìm kiếm tự động có ba thành phần chính.
Thứ nhất là tác tử thăm dò (spider, đôi khi cũng được gọi là crawlers). Tác tử
thăm dò đến thăm một trang web, đọc nó, và sau đó theo sau những mối liên kết tới
những trang khác bên trong web site. Có nghĩa là, khi có ai đó tìm kiếm đến một
trang, các tác từ thăm dò này sẽ ghi nhớ điều đó. Nó sẽ quay lại trang đó và theo
một chu kỳ nào đó tùy vào người sử dụng cấu hình cho nó. Như vậy, nếu trang web
được tìm thấy càng nhiều, thì các tác tử thăm dò càng năng quay trở lại hơn và như
thế, kết quả tìm kiếm của bạn cũng được cải thiện theo.
Mọi thứ tác tử thăm dò tìm thấy sẽ đi vào trong phần thứ hai của công cụ tìm

kiếm, đó là chỉ mục (the index). Chỉ mục, đôi khi gọi là kho tài liệu, là một kho lưu
trữ khổng lồ chứa đựng một sự sao chép của mọi trang web mà tác tử thăm dò tìm
thấy. Kho này được hình thành và xây dựng một cách có hệ thống, có phân cấp,

Page 16


phân loại, chỉ mục hỗ trợ tối đa việc tìm kiếm truy xuất. Nếu một trang web thay
đổi hoặc biến mất, thì danh sách này được cập nhật với thông tin mới.
Đôi khi, cần phải có thời gian để các tác tử thăm dò lập chỉ mục cho một trang mới
hay một trang được thay đổi nội dung. Như vậy, sẽ có trường hợp: một trang đã
được các tác tử thăm dò tìm đến, nhưng lại chưa được lập chỉ mục. Và trong khoản
thời gian này, trang web sẽ hoàn toàn không tồn tại thông tin mới trên công cụ tìm
kiếm.
Phần mềm tìm kiếm chính là phần tử thứ ba của một công cụ tìm kiếm. Đây là
một chương trình máy tính có chức năng sàng lọc thông tin từ hàng triệu trang
tương tự nhau để sắp xếp vị trí từng trang sao cho phù hợp nhất. Đây chính là nơi
mà các các trang web khai thác để đưa một website nào đó để lên vị trí cao nhất khi
được tìm kiếm với một hay nhiều từ khóa chỉ định. Bằng rất nhiều các phương pháp
như tạo tập từ khóa liên quan đến trang web chứa trên trang, liên kết với các trang
web được nhiều người sử dụng để các tác tử thăm dò dễ tìm thấy nhất, xây dựng các
công cụ tích hợp với trình duyệt của máy trạm thu thập thông tin và hướng trực tiếp
người dùng vào trang web của mình, … tất cả với mục đích sao cho các công cụ tìm
kiếm tìm thấy nó nhiều nhất, trước nhất và nhanh nhất.
Tất cả các công cụ tìm kiếm tự động có những phần cơ bản được mô tả ở trên,
nhưng có những sự khác nhau trong những phần này trong việc nó được điều chỉnh
tác động qua lại nhau như thế nào cho hiệu quả. Đó là lý do tại sao cùng một từ
khóa, khi tìm kiếm trên những công cụ tìm kiếm khác nhau thường cho ra những
kết quả khác nhau. Một ví dụ cụ thể: Nếu chúng ta nhập một từ khóa, thì Google,
Yahoo, MSN, hay Ask đều cho ra các kết quả khác nhau, dù có nhiều web site hơi

giống nhau.

2.3 Giới thiệu giải thuật PageRank
2.3.1 Giới thiệu

Page 17


PageRank được phát triển tại Stanford University bởi Larry Page và sau là
Sergey Brin như một phần của dự án nghiên cứu về một cơ chế tìm kiếm mới. Dự
án bắt đầu vào 1995 và xuất hiện với tên gọi là Google vào năm 1998. Trong một
thời gian ngắn sau đó, PageRank đã thực sự khẳng định vị thế của công cụ tìm kiếm
Google trên toàn bộ hệ thống Internet của thế giới.
PageRank đã dựa trên ý tưởng phân tích chỉ dẫn được phát triển từ 1950 bởi
Eugene Garfield của đại học Pennsylvania. Trong giải thuật của PageRank mà Brin,
Motwani và Winograd giới thiệu, đã sử dụng cơ chế quyết định tính quan trọng toàn
vẹn của một trang web. Một cách trực quan, PageRank của một trang web là một
giá trị xấp xỉ độ xác xuất truy cập đến trang này từ một vài trang khác trên web site.

2.3.2 Mô hình PageRank
Mô hình PageRank có thể được tóm tắt như sau:

C

B

A

D


Liên kết ra
(forward
link) của
trang D
Liên kết
vào (back
link) của
trang A

Hình 2.1 Mô tả liên kết vào và liên kết ra trong giải thuật PageRank

Giải thuật PageRank quan niệm, mọi trang web trên một web site đều có một
số liên kết từ nó đi ra (forward links hay outedges) và một số liên kết đến nó (back
links hay inedges). Chúng ta không thể biết được tất cả các liên kết đến của một
trang nhưng nếu tải được nó về, chúng ta có thể biết được tất cả các liên kết từ nó đi
ra bằng cách xem số siêu liên kết (hyperlink) chứa trong trang.

Page 18


Việc đánh giá trang web của giải thuật PageRank dựa trên giả thuyết, một
trang web được liên kết đến nhiều thì quan trọng hơn là một trang web có ít liên kết
[4].
Cách tính toán của PageRank: một trang web được xếp hạng cao nếu tổng
xếp hạng từ những liên kết đến của nó cao [4].
Thông qua thực nghiệm, ta có thể thấy điều đó khá phổ biến trong mối quan
hệ của các tài liệu trong kho tài liệu khổng lồ Internet. Một trang web được liên kết
đến từ môt trang web rất uy tín, có số lượng truy cập cao, độ tin cậy lớn thì đây
thường là một liên kết rất có ý nghĩa hay nói cách khác đây là một trang web mà
người dùng có khả năng truy cập đến nhiều. Tuy nhiên, ta chỉ có thể thực hiện được

trong một tập có giới hạn các tài liệu, vì thực tế, số lượng các trang web trên mạng
Internet là vô cùng lớn và không thể thống kê hay thu thập được toàn bộ các trang
web liên kết với nhau để có thể xây dựng cho nó một tập các trang được gán trọng
số đầy đủ. Ở đây, ta chỉ xét trên một web site cục bộ với một số lượng trang có giới
hạn nhất định và loại bỏ những liên kết ra bên ngoài site.

2.3.3 Giải thuật PageRank
Ta xét ví dụ tính giá trị PageRank đối với 4 trang web (hình 2.5) như sau:
-

Giả sử rằng ta có 4 trang web A, B, C và D. Khởi tạo xấp xỉ giá trị PageRank
chia đều cho 4 trang, mỗi trang có xấp xỉ 0.25.

-

Trang B liên kết đến trang C và trang D liên kết đến tất cả ba trang còn lại.
Giá trị của những liên kết vào chia đều cho tất cả các liên kết ra trên một
trang. Vì vậy, trang B sẽ liên kết đến A với 0.125 và C là 0.125. Đối với D
thì chỉ một phần ba giá trị PageRank của nó liên kết đến các trang khác (xấp
xỉ 0.083). Công thức tính PageRank của trang A như sau:
PR ( A) =

PR ( B) PR (C ) PR ( D)
+
+
2
1
3

Quá trình này được gọi là quá trình chuẩn hóa liên kết.


Page 19


PR( A) =

PR( B) PR(C ) PR( D)
với N(B), N(C), N(D) tương ứng là số liên
+
+
N ( B)
N (C )
N ( D)

kết ra của trang B, C và D
Một cách tổng quát PageRank của một trang được tính như sau:

PR( B) ⎞

PR( A) = ⎜⎜ ∑

N
(
B
)
B

parents
(
A

)



(2.1)

với B là những trang cha của A liên kết đến A, Parents(A) là tập tất cả những
trang web liên kết đến A và N(B) là số liên kết ra đến những trang khác nhau
được tìm thấy trên A.
-

Tại mỗi bước, người dùng quyết định truy cập vào một trang web với m
đường liên kết đi ra đến những trang khác nhau. Tại mỗi thời điểm, người
dùng hoặc với xác suất α được quyết định để tự nhập vào một URL mới và
ngẫu nhiên truy cập tới một trang trong tập hợp hoặc với xác suất 1- α truy
cập lên một trong những liên kết trên trang. PageRank giả sử rằng người
dùng không thiên vị trong việc lựa chọn các đường liên kết vì vậy xác suất
truy cập đến một liên kết bất kì là

1−α
[1]. Với cách giả định đó ta có cách
m

tính toán trong công thức của PageRank là như sau:

PR( B) ⎞

PR( A) = α + (1 − α )⎜⎜ ∑

N

(
B
)
B

parents
(
A
)



-

(2.2)

Giải thuật PageRank thực hiện tính toán lập đi lập lại từ một trạng thái để
tính PageRank cho tất cả các trang web trong site và tiếp tục thực hiện tính
lại cho đến khi đạt đến điều kiện ổn định cho phép. Trong đó giá trị α qua
thực nghiệm được cho từ 0.05 đến 0.15.

Algorithm PageRank
Với N trang web {A1, A2,…, AN)
Bước 1: Khởi tạo giá trị PageRank cho N trang web
PR(A1)=1/N, PR(A2)=1/N, …, PR(AN)=1/N
Page 20


Bước 2: Tính giá trị PageRank của tất cả các trang bằng công thức (2.2)



PR( B) ⎞

PR( A) = α + (1 − α )⎜⎜ ∑

⎝ B∈parents ( A) N ( B) ⎠
Bước 3: Tính sai số của tất cả các trang ε =PR(A)i –PR(A)i-1 (i: là lần lặp thứ i)
Nếu ε của tất cả các trang đều nhỏ hơn ngưỡng thì dừng
Nếu tồn tại ε > ngưỡng thì quay lại bước 2

Để có được giá trị PageRank tốt, luôn phản ánh đúng tình trạng trang web,
Google tính toán lại giá trị PageRank tại mỗi thời điểm thăm dò trang web và xây
dựng lại tập chỉ mục. Do đó, Google sẽ tăng số lượng tài liệu cho tập hợp của nó và
làm giảm đi việc xấp xỉ giá trị khởi tạo cho tất cả các tài liệu.
Việc sử dụng tác tử thăm dò trang web và làm chỉ mục trang web là công
việc tốn thời gian và chi phí nên Google luôn tìm cách để tối ưu quá trình này như
xây dựng các công cụ hỗ trợ cho Google trên trình duyệt như Google Toolbar, hoặc
máy chủ lưu trữ tạm thời (Caching Server) hỗ trợ cho công cụ tìm kiếm.
Phương pháp PageRank được cài đặt trên máy tìm kiếm Google đã mang lại
kết quả rất khả quan. Tuy nhiên, thuật toán chỉ quan tâm đến các liên kết giữa các
trang Web mà không quan tâm đến nội dung trang. Giải thuật PageRank xem tất cả
các trang web mà người dùng truy cập là như nhau kể cả từ những liên kết đặc biệt
đến những liên kết thông dụng nhất. Tuy nhiên, do xét trên phạm vi toàn cục đó là
tìm kiếm trên toàn bộ các trang web có trên Internet nên Google đã rất thành công
với giải pháp này. Nhưng khi xét trên một website cục bộ thì khả năng chính xác
không còn cao nữa. Phần tiếp theo, tôi sẽ trình bày chi tiết về giải thuật LPageRank.

2.4 Giải thuật LPageRank
Giải thuật PageRank với web log được tác giả Qing Cui và Alex Dekhtyar
giới thiệu vào năm 2005 [16] được sử dụng là một phần trong mô hình cải tiến công

cụ tìm kiếm. Trong một web site, nếu xem mỗi liên kết từ một trang đến một trang

Page 21


khác được biểu diễn thành một cung trên đồ thị thì việc tính toán của giải thuật
PageRank có thể được mô hình hóa quá trình thực hiện bằng cách lặp đi lặp lại việc
tính toán trọng số giữa các URL trong cây đồ thị cấu trúc liên kết của web site. Quá
trình tính toán gán mỗi trang web một giá trị PageRank dựa trên cấu trúc hiện tại
của nó.
Web log có thể cung cấp cho chúng ta một cách đầy đủ những thông tin
chúng ta đang cần để cải tiến cho PageRank mà không phải tốn nhiều chi phí. Một
web log trong một khoảng thời gian có hạn, với số lượng truy cập tương đối lớn sẽ
là một sự đánh giá rất đầy đủ mức độ quan tâm của người dùng đối với các trang
web trong site. Mặt khác, nếu khai thác đầy đủ thông tin của web log ta có thể mô
hình hóa lại được cấu trúc liên kết của web site với các mối quan hệ của các trang
với nhau trong mắt người dùng.
Với cách sử dụng nhật ký máy chủ web, chúng ta có thể cải thiện kết quả tìm
kiếm dựa trên cấu trúc liên kết trang web được xây dựng dựa trên các mẫu truy cập
của người dùng và nhanh hơn so với sử dụng cấu trúc liên kết tĩnh của trang web.
Giải thuật LPageRank được phát biểu cụ thể như sau:
Giả sử G = (W, E, P) là đồ thị xác suất cho tập các trang web của site là W. Sau đó
tính LPageRank(LPR) của trang web như sau:

LPR( A) = α + (1 − α )



LPR( B) P(( B, A))


B∈ parrents ( A)

Chú ý rằng LPR(A)=PR(A) đối với đồ thị G nếu P( B, A) =

(2.3)

1−α
đối với tất cả các
N ( B)

cung.

Algorithm LpageRank
Bước 1: Duyệt đồ thị xác suất lấy giá trị xác suất cung P(B,A)

Page 22


×