Professional Documents
Culture Documents
Thuat Toan Page Rank
Thuat Toan Page Rank
MỤC LỤC
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….
(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’.
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.
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.
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.
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 đó:
(1)
trong đó:
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:
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
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
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.
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 đó:
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ụ:
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:
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.
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.
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.
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.
[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