Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 12

Thuật toán PageRank

MỤC LỤC

1. Giới thiệu chung ................................................................................................ 2


1.1. Lịch sử ........................................................................................................ 2
1.2. Khái niệm ................................................................................................... 2
2. Thuật toán PageRank ........................................................................................ 3
2.1. Thuật toán PageRank cơ bản...................................................................... 4
2.2. Thuật toán PageRank cải tiến ..................................................................... 6
3. Ứng dụng ........................................................................................................... 9
4. Đánh giá ............................................................................................................ 9
4.1. Ưu điểm ...................................................................................................... 9
4.2. Hạn chế ..................................................................................................... 10
KẾT LUẬN ......................................................................................................... 11
TÀI LIỆU THAM KHẢO ................................................................................... 12

Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 1


Thuật toán PageRank

1. Giới thiệu chung

1.1. Lịch sử
PageRank (PR) là một thuật toán phân tích liên kết (link) được phát triển
tại đại học Stanford (Mỹ) bởi Larry Page và sau đó được Sergey Brin tiếp tục
nghiên cứu và ứng dụng trong một dự án nghiên cứu về một loại công cụ tìm
kiếm mới. Dự án này được bắt đầu từ năm 1995, và kết quả của nó là sự ra đời
của Google vào năm 1998. Không lâu sau đó Page và Brin thành lập công ty
Google, cung cấp công cụ tìm kiếm mang tên Google. Trong khi chỉ một trong
nhiều yếu tố xác định thứ hạng của kết quả tìm kiếm thì PageRank tiếp tục cung
cấp các cơ sở khác phục vụ cho công cụ tìm kiếm trên web này.

PageRank phát triển dựa trên công trình Citation Analysis của Eugene
Garfield vào những năm 1950 tại đại học Pennsylvania, các nhà sáng lập Google
cũmg đã từng trích dẫn công trình của Garfield trong trang gốc của họ. Giải
thuật PageRank phát triển dựa trên việc phân tích liên kết giữa các trang (Web
Link Analysis). Web Link Analysis lần đầu tiên được phát triển phải kể đến giải
thuật HITS của Jon Kleinberg và nhóm của ông khi làm việc với dự án
CLEVER của IBM’s Almaden Research Center. Bên cạnh HITS và PageRank,
hiện cũng có những thuật giải Link Analysis khác như TrustRank của Yahoo!
hay BrowseRank của Microsoft….

1.2. Khái niệm


Google đã mô tả về PageRank như sau: PageRank dựa vào những tính
chất dân chủ tự nhiên riêng biệt của web bằng cách sử dụng cấu trúc liên kết
rộng lớn như là một dụng cụ đo giá trị cá nhân của trang web. Trên thực tế,
Google sẽ xem một liên kết từ trang A đến trang B như một bình chọn (vote), A
sẽ là nhân tố để bình chọn cho B. Tuy nhiên, Google xem xét nhiều hơn là chỉ
dựa trên khối lượng bình chọn, hoặc số liên kết mà trang nhận được; nó còn
phân tích về trang tác động (thực hiện) đến bình chọn. Bình chọn được thực hiện

Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 2


Thuật toán PageRank

(vote cast) bởi các trang càng ‘quan trọng’ thì trọng số càng ‘nặng’ và làm cho
các trang khác cũng trở nên ‘quan trọng’.

Có hai loại PageRank:

 PageRank thực: PageRank thực được biểu diễn bằng các chỉ số thậm chí
lên tới hàng triệu.
 PageRank Toolbar: Có giá trị từ 0 đến 10 (các trang Web chưa xếp hạng
có giá trị N/a).

Trước đây chỉ số PR trên toolbar cập nhật 3 tháng 1 lần (hiện nay không
cập nhật nữa). Trong khi đó PR thực không ngừng update, điều này lý giải tại
sao trong danh mục kết quả tìm kiếm một số trang web nhất định lại được hiển
thị ở vị trí cao hơn những trang có thứ hạng tốt hơn. Đây cũng là một điểm khác
biệt nữa trong bản chất 2 loại PageRank. Chỉ số PR có thể tăng hoặc giảm khi
nhận thêm các liên kết hoặc bị bỏ liên kết từ các trang Web.

2. Thuật toán PageRank


Page và Brin đã đưa ra một phương pháp nhằm giúp cho công việc tính
toán hạng trang. Phương pháp này dựa trên ý tưởng rằng: nếu có liên kết (links)
từ trang A đến trang B thì độ quan trọng của trang A cũng ảnh hưởng đến độ
quan trọng của trang B. Điều này ta cũng có thể thấy được một cách trực quan
rằng, nếu trang Web bất kì được link đến bởi trang Yahoo! chắc chắn sẽ quan
trọng hơn nếu nó được link bởi một trang Web vô danh nào đó.

Một trang Web có chỉ số PageRank cao chứng tỏ trang đó càng uy tín và
có khả năng được xếp hạng cao trong kết quả tìm kiếm. Để một trang Web có
chỉ số PageRank cao thì cần có nhiều backlink (đặc biệt là các backlink có uy
tín). Một trang web có chứa nhiều link liên kết từ các trang web có giá trị
PageRank cao thì giá trị PageRank của trang đó cũng sẽ cao. Hình 1 là một ví dụ
về backlinks: Trang A gọi là backlink của trang B và trang C, trang B và trang C
gọi là backlink của trang D.

Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 3


Thuật toán PageRank

Hình 1: Backlinks

Giá trị PageRank của trang được xây dựng dựa trên các liên kết tới trang
đó và được tổng hợp từ các yếu tố gồm số lượng liên kết, chất lượng và tính liên
quan của các liên kết. Mỗi đường link tới trang web sẽ được tính như một sự hỗ
trợ làm tăng thêm giá trị Pagerank.

Tuy nhiên, một trang Web có PageRank thấp vẫn có thể có thứ hạng cao
hơn trang có PageRank cao vì chỉ số PR chỉ là 1 trong hơn 200 yếu tố để đánh
giá xếp hạng cho một trang Web.

2.1. Thuật toán PageRank cơ bản


Giả sử ta có một tập hợp các trang Web với các liên kết giữa chúng, khi
đó ta coi tập hợp các trang Web như là một đồ thị với các đỉnh là các trang Web
và các cạnh là các liên kết giữa chúng. Sau đây, ta sẽ tìm hiểu một thuật toán
PageRank đơn giản thể hiện độ quan trọng của mỗi trang Web dựa vào các liên
kết trước khi tìm hiểu một phương pháp được áp dụng trong thực tế.

Giả sử rằng các trang Web tạo thành một đồ thị liên thông, nghĩa là từ một
trang bất kì có thể có đường liên kết tới một trang Web khác trong đồ thị đó.
Cho đồ thị G=(V,E) liên thông trong đó:

V={V : V đại diện cho 1 web, i = 1..n }


i i
E={(i,j): có liên kết từ i tới j; i,j=1..n}
Khi đó giá trị PageRank của trang i, kí hiệu là r(i) được tính như sau:

Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 4


Thuật toán PageRank

(1)

trong đó:

r(i): PageRank của trang i

N(j): số liên kết ra ngoài của trang thứ j

B(i): số các trang Web có liên kết đến trang i

c: Yếu tố giảm chấn.

Hình 2: Ví dụ PageRank cơ bản

Nếu gọi r = [r(1), r(2), ... , r(n)]T là vector PageRank, trong đó các thành
phần là các hạng tương ứng của các trang Web, A là ma trận kích thước n x n
trong đó các phần tử có giá trị như sau:

Ta viết lại các phương trình này dưới dạng ma trận:

r = cATr

Như vậy ta có thể thấy vectơ PageRank r chính là vectơ riêng của ma
trận AT. Như ta đã thấy ở trên, việc tính toán mức độ quan trọng hay hạng trang

Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 5


Thuật toán PageRank

theo phương pháp PageRank có thể được thực hiện thông qua việc phân tích
các liên kết tới trang Web đó. Nếu nó có những liên kết quan trọng trỏ tới thì
rất có thể trang đó là trang quan trọng. Tuy nhiên việc tính toán hạng trang lại
phụ thuộc vào việc biết được hạng của các trang Web có liên kết tới nó, và như
vậy muốn tính hạng trang này ta phải biết được hạng của trang liên kết tới nó,
điều này có thể gây ra việc lặp vô hạn rất tốn kém. Khắc phục bằng cách đưa
về các vectơ hạng, ta có thể tính toán được các hạng trang thông qua việc tính
toán vectơ riêng của ma trận AT. Trong đại số tuyến tính có khá nhiều các
phương pháp có thể tính được vectơ riêng của ma trận tuy nhiên có một
phương pháp khá tiện và có thể được áp dụng vào việc tính toán vectơ
PageRank là phương pháp lặp. Các công việc tính toán sẽ được làm như sau:

1. s  vector bất kì

2. r  AT s

3. nếu ||r-s||<e thì kết thúc, khi đó ta nhận được r là vector PageRank

nếu không thì sr, quay lại bước 2.

Diễn giải thuật toán trên như sau: bước đầu tiên ta sẽ gán cho vectơ
PageRank toàn cục một giá trị bất kì, sau đó lấy vectơ đó nhân với ma trận A T
được một vectơ mới giả sử là r(1), lại tiếp tục nhân r(1) với ma trận AT, tiếp tục
quá trình này cho đến khi dãy {r(i)} hội tụ – nghĩa là tất cả các phần tử của r(i)
thay đổi với một sai số nhỏ hơn một giá trị e bất kỳ. Khi đó ta có thể nhận được
một vectơ PageRank “tương đối” đại diện cho các trang Web ta xét.

2.2. Thuật toán PageRank cải tiến

Trong thực tế, không phải lúc nào người dùng cũng sử dụng liên kết hiện
có. Ví dụ: sau khi xem trang A, một số người dùng không mở B thông qua liên
kết với trang A mà mở trực tiếp đến trang B. Trong trường hợp này, người dùng
nhập URL của trang B và chuyển đến trang B trực tiếp. Như vậy, hạng của trang
B sẽ bị ảnh hưởng ngay cả khi hai trang này không được kết nối trực tiếp.
Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 6
Thuật toán PageRank

Do vậy, công thức tính PageRank được sửa đổi như sau:

(2)

trong đó:

r(i): PageRank của trang i

N(j): số liên kết ra ngoài của trang thứ j.

B(i): số các trang Web có liên kết đến trang i.

d: Yếu tố giảm chấn (nằm trong khoảng 0<d<1, mặc định là 0.85).

Chúng ta cũng có thể nghĩ đến d như là xác suất của người sử dụng theo
các liên kết và có thể xem xét (1 - d) như là sự phân bố PageRank từ các trang
không liên kết trực tiếp.

Ta cũng nhận thấy rằng trong trường hợp d = 1 thì công thức sẽ quay lại
trường hợp PageRank cơ bản. Do kích thước của trang web thực tế, công cụ tìm
kiếm của Google sử dụng tính toán xấp xỉ, lặp đi lặp lại các giá trị
PageRank. Điều này có nghĩa là mỗi trang được gán giá trị khởi đầu ban đầu và
PageRanks của tất cả các trang sau đó được tính trong một số vòng tính toán dựa
trên phương trình được xác định bởi thuật toán PageRank. Page và Brin cũng đã
chỉ ra rằng trong khoảng hơn 50 vòng lặp chúng ta có thể nhận được kết quả với
sai số không lớn lắm.

Ví dụ:

Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 7


Thuật toán PageRank

Giả sử có ba trang web A, B và C, trong đó trang A liên kết đến các trang
B và C, trang B liên kết đến trang C và liên kết trang C tới trang A. Theo Page
và Brin, yếu tố giảm chấn d thường được đặt là 0.85, nhưng để tính toán đơn
giản hơn chúng ta đặt d là 0.5. Giá trị chính xác của yếu tố giảm chấn d có thể
ảnh hưởng đến PageRank, nhưng nó không ảnh hưởng đến các nguyên tắc cơ
bản của PageRank.

Vì vậy, áp dụng công thức (2) chúng ta có được các phương trình tính
PageRank như sau:

r(A) = 0,5 + 0,5 r(C)


r(B) = 0,5 + 0,5 (r(A)/2)
r(C) = 0,5 + 0,5 (r(A)/2 + r(B))

Các tính toán lặp lại của PageRank

Do kích thước của trang web thực tế, công cụ tìm kiếm của Google sử
dụng tính toán xấp xỉ, lặp đi lặp lại các giá trị PageRank. Điều này có nghĩa là
mỗi trang được gán giá trị khởi đầu ban đầu và PageRanks của tất cả các trang
sau đó được tính trong một số vòng tính toán dựa trên phương trình được xác
định bởi thuật toán PageRank. Tính toán lặp sẽ được minh họa bởi ví dụ này với
mỗi trang được chỉ định giá trị PageRank bắt đầu là 1.

Iteration r(A) r(B) r(C)


0 1 1 1
1 1 0,75 1,125
2 1.0625 0.765625 1.1484375
3 1.07421875 0.76855469 1.15283203
4 1.07641602 0.76910400 1.15365601
5 1.07682800 0.76920700 1.15381050
6 1.07690525 0.76922631 1.15383947
7 1.07691973 0.76922993 1.15384490
8 1.07692245 0.76923061 1.15384592
9 1.07692296 0.76923074 1.15384611
10 1.07692305 0.76923076 1.15384615
11 1.07692307 0.76923077 1.15384615
Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 8
Thuật toán PageRank

12 1.07692308 0.76923077 1.15384615

3. Ứng dụng
 Ứng dụng đầu tiên và rõ ràng nhất của thuật toán PageRank dành cho các
máy tìm kiếm (Search Engines). Nó được phát triển đặc biệt bởi Google để sử
dụng trong công cụ tìm kiếm của họ, PageRank có thể xếp hạng trang web để
cung cấp kết quả tìm kiếm có liên quan nhanh hơn.
 Thuật toán PageRank áp dụng hướng tới các mạng tìm kiếm bên ngoài
internet. Điều này có thể được áp dụng đối với các bài báo học thuật bằng cách
sử dụng trích dẫn như là một thay thế cho các liên kết, PageRank có thể xác định
các bài báo hiệu quả nhất.
 Ứng dụng trong thế giới thực của thuật toán PageRank. Ví dụ như xác
định các loài quan trọng trong một hệ sinh thái. Bằng cách lập bản đồ các mối
quan hệ giữa các loài trong một hệ sinh thái, việc áp dụng thuật toán PageRank
cho phép người sử dụng xác định được các loài quan trọng nhất. Do đó, có thể
phân định tầm quan trọng đối với các loài động vật và thực vật chính trong một
hệ sinh thái cho phép dự báo dễ dàng hơn các hậu quả như sự tuyệt chủng hoặc
loại bỏ một loài từ hệ sinh thái.
 Đưa Google PageRank vào phân tích hóa học: Aurora Clark, giáo sư hóa
học trường Đại học bang Washington đã sử dụng phần mềm PageRank của
Google để tạo ra MoleculaRnetworks, phần mềm cho phép các nhà khoa học
khám phá cấu trúc dung môi trong mô phỏng phân tử.

4. Đánh giá

4.1. Ưu điểm
PageRank là một phương pháp tính hạng khá tốt và có quá trình tính toán
độc lập với người dùng nên có thể thực hiện độc lập và không ảnh hưởng đến
tốc độ tìm kiếm.

Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 9


Thuật toán PageRank

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.

4.2. Hạn chế


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 Web nên có thể dễ bị đánh lừa bởi các công nghệ
spam.

Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 10


Thuật toán PageRank

KẾT LUẬN
Thông qua việc tìm hiểu, nghiên cứu các công trình nghiên cứu liên quan
về thuật toán PageRank chúng em đã tìm hiểu được như sau:

• PageRank của Google đánh giá độ quan trọng của một trang web dựa trên
phương pháp xử lí gọi là thuật toán phân tích liên kết (Link Analysis
Algorithm). Phương pháp này đánh giá độ quan trọng của một trang Web
dựa trên những liên kết trên Internet.

• Các khái niệm cơ bản của thuật toán PageRank


• Thuật toán PageRank cơ bản
• Thuật toán PageRank cải tiến
• Ứng dụng của thuật toán PageRank
• Đánh giá ưu, nhược điểm của thuật toán
Hiện nay, có rất nhiều thuật toán khác nhau được phát triển dựa trên thuật
toán PageRank, việc nghiên cứu các thuật toán đó là hết sức cần thiết. Tuy
nhiên, do khả năng, thời gian và phạm vi nghiên cứu còn hạn chế nên đề tài
không tránh khỏi thiếu xót. Rất mong nhận được sự đóng góp từ cô giáo và các
bạn học viên.

Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 11


Thuật toán PageRank

TÀI LIỆU THAM KHẢO


[1] Larry Page, Sergey Brin, Motwani and Winograd, 1998, The PageRank
citation ranking: Bringing order to the Web, Technical report, Stanford
University.

[2] Wenpu Xing and Ali Ghorbani, 2004, Weighted PageRank Algorithm,
University of New Brunswick, Fredericton, NB, E3B 5A3, Canada.

[3] https://vi.wikipedia.org/wiki/PageRank

Trần Thị Mai Oanh _ Nguyễn Thị Ngọc Anh Page 12

You might also like