2. Nội dung
• Thuật toán và ví dụ
• Một số yếu tố ảnh hưởng
• Thuật toán cải tiến
2
3. Ý tưởng thuật toán
• “Nếu có liên kết 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”.
3
4. Công thức tính toán(1)
• Coi Web là đồ thị liên thông G = (V, E)
• inbound link và outbound link
• Giá trị PageRank P(i) của trang i
• Trong đó
Oj là số liên kết từ trang i (outbound link)
4
5. Công thức tính toán(2)
• Cách viết khác (dạng ma trận)
• Trong đó
P = (P(1), P(2),…,P(n))T là vector
PageRank – vector riêng của AT
A là ma trận n x n với
5
7. Trên thực tế
• Giả thiết đồ thị Web liên thông là không
thực tế.
• Dangling nodes.
• Độ quan trọng của bất kì một trang Web
nào cũng phải là dương.
7
9. Mô hình duyệt ngẫu nhiên
• Vector PageRank tỉ lệ với phân phối xác
suất dừng của một quá trình ngẫu nhiên.
• PageRank của một trang Web chính là xác
suất để 1 người ngẫu nhiên duyệt trang
Web đó.
9
13. Inbound links(1)
-Với d=0.5, PR(A) gấp khoảng 4 lần PR(D)
-Với d=0.75, PR(A) gấp khoảng 2 lần PR(D)
d=0.5; PR(X)=10
Với hệ số hãm cao hơn, ảnh hưởng của d=0.75; PR(X)=10
việc thêm 1 inbound link với đồ thị Web: phân
bố đều hơn giữa các trang trong đồ thị !
PR tăng 7.5
PR tăng 5
13
17. Outbound links(3) – Dangling links
• Theo Page và Brin, số lượng dangling link
của Google là khá cao, vì khá nhiều link
không được index:
– File robots.txt
– Các file PDF, Word không có outbound links
• Việc loại bỏ các dangling link trong tính
toán sẽ tối ưu hơn cho tìm kiếm !
17
24. Topic sensitive PageRank
• Taher H. Haveliwala đề xuất, 2002
• PageRank quan tâm đến nội dung Website
• Gồm 2 bước:
– Phân các trang Web thành các lớp chủ đề
– Được thực hiện trong thời gian hỏi – đáp
24
25. Adaptive PageRank
• Sepandar D. Kamvar và cộng sự, 2003
• Tận dụng những trang hội tụ sớm và kết
quả độ quan trọng của các trang đã hội tụ
có thể không cần tính tiếp
25
26. Tài liệu tham khảo
• The top ten algorithms in data mining
• Hà Quang Thụy, Phan Xuân Hiếu, Đoàn
Sơn, Nguyễn Trí Thành, Nguyễn Thu
Trang, Nguyễn Cẩm Tú (2009). Giáo trình
khai phá dữ liệu Web, NXB giáo dục Việt
Nam, 2009
• http://pr.efactory.de
26
Được Sergey Brin, Lawrance Page và các cộng sự, 1998Một trong những thuật toán được dùng cho máy tìm kiếm Google
Với V là cạnh G (liên kết), và E là các đỉnh (trang web)2 khái niệm inbound link và outbound link
Việc tính toán hạng trang lại phụ thuộc vào việc biết được hạng trang của các Web liên kết tới nó có thể gây ra vòng lặp vô hạnGiải pháp: Có thể tính được hạng trang thông qua việc tính vector riêng của ma trận AT
Có nhiều cách tính toán vector riêng, tuy nhiên phương pháp lặp là khá thuận tiệnHiệu quả: Brin và Page chỉ ra rằng, các giá trị này hội tụ khá nhanh, chỉ sau khoảng 100 vòng lặp là có thể nhận được kết quả với sai số cho phép
Trên thực tế, đồ thị Web là không liên thông.Có rất nhiều trang web không hề liên kết đến bất cứ trang nào (dangling nodes) hay ngược lại, gây ra một số hàng của ma trận A toàn số 0 (vì không có outbound link), tức là độ quan trọng của một trang Web là 0.Điều này không đúng, vì một trang Web nào cũng được tạo ra phải mang ý nghĩa nào đó, tức là độ quan trọng của nó phải dương.
Nếu 1 trang là dangling node, ta sẽ coi như trang đó có outbound link đến tất cả các trang còn lại của G.Có nghĩa là thay hàng số 0 bằng 1 hàng với các phần tử là 1/N, N là số trang của G
Với mô hình duyệt ngẫu nhiên, vector PageRank phải có tính dừng (duy nhất), nên công thức PageRank được sửa đổi với hệ số hãm d để đảm bảo điều này.Sự khác nhau của 2 công thức, nhưng ý nghĩa là giống nhau?Ý nghĩa của hệ số hãm: bổ sung thêm giá trị PageRank cho nhóm trang không có link ra ngoài nhóm. Khi d = 1, trở về công thức PageRank ban đầu.Các ví dụ sau sẽ sử dụng công thức (1)
Giải bằng cách tính hệ phương trình 3 ẩnTuy nhiên, thực tế sơ đồ Web rất lớn, không thể giải hệ phương trình đó trong thời gian ngắn được, nên ta sẽ dùng phương pháp lặp, nhưng ở đây vẫn chỉ lấy ví dụ lặp với sơ đồ Web có 3 trang ở trên
Có thể thấy chỉ sau 12 vòng lặp đã cho ta kết quả tốt !Khởi đầu bằng vector (1, 1, 1)
Mô tả hình vẽPhần này ta xem xét đến việc thêm 1 inbound link sẽ ảnh hưởng thế nào đến các giá trị PageRank của đồ thị WebDựa vào công thức đã nêu (1), sẽ tăng thêm 1 lượng là …, ta xét 2 trường hợp như slide với d khác nhauTính theo công thức lý thuyết trên thì PR tăng 5 và 7.5, tuy nhiên chúng ta xem có thật sự là tăng lên theo công thức trên hay không?
Khi có 1 inbound link đến một hệ đóng thì hiển nhiên, hệ đó sẽ nhận được thêm giá trị PageRankĐây chính là thực tế là sẽ tăng lên theo công thức trên
Mô tả hình vẽTổng vẫn là 4, nghĩa là không có sự mất mát nào trong 2 hệ này khi có 1 outbound link từ A đến C
Mô tả hình vẽTa thấy tổng chỉ lớn hơn 1.5 một chút, do C là dangling node nên giá trị PageRank của hệ này giảm đi gần 1 nửaGiải pháp: thực hiện xóa tạm thời các dangling node, sau đó mới tính toán giá trị PageRank.2 hình trên là không cùng một vấn đềViệc xóa Dangling node có thể sẽ phải lặp.
Theo Page và Brin, số lượng dangling link của Google là khá cao, vì khá nhiều link không được máy tìm kiếm liệt kê vì lý do sau:File robots.txt: đây là file đặt ở thư mục root của web, có chức năng cho phép hoặc không cho phép bọ tìm kiếm liệt kê các thành phần của website, và một số chức năng khác. Quản trị mạng sử dụng file này để không cho phép liệt kê.Với các loại file như PDF hay Word thì không có outboud link do đó không liệt kê được.
Mô tả hình vẽPageRank sẽ phân bố cho mục đích tối ưu hóa máy tìm kiếm, (cụ thể) những trang có phân bậc thấp (1b) càng liên kết với nhau thì PageRank của chúng sẽ càng tăng.
Mô tả hình vẽGiá trị PageRank của mỗi trang đều tăng (2b)Để tối ưu hóa máy tìm kiếm, nên tập trung những outbound link vào càng ít trang càng tốt
Mô tả hình vẽ-PR(A) và PR(D) đều tăng(hiển nhiên các PR khác sẽ phải giảm) Trái ngược với việc liên kết các trang ở phân cấp thấp hơn(như đã xét ở hình 1) cần thiết nếu để tối ưu hóa cụm từ khóa quan trọng.
- Trong phần trình bày tiếp theo, nêu ý tưởng của các thuật toán cải tiến PageRank
Xét đến tính đúng lúc của kết quả tìm kiếm (các trang web đã chất lượng chưa chắc đã có chất lượng so với hiện tại hay tương lai)Vấn đề: những trang cũ có lượng inbound link lớn, nhưng những trang mới thì có rất ít (hoặc k có)Giải quyết: nếu là trang cũ thì f(t) sẽ nhỏ và 1-f(t) lớn xác suất nhảy đến trang khác sẽ lớn. Ngược lại, nếu trang mới thì xác suất nhảy đến trang khác là nhỏ !X. Li, B. Liu, and P. S. Yu. Time Sensitive Ranking with Application to Publication Search. Conference on Data Mining 2008
Quan tâm đến nội dung trang Web. Hơn nữa, nếu khai thác được mối qtâm của người dùng đối với trang Web trong quá trình tính độ phù hợp của trang Web với câu hỏi người dùng, thì rất có ý nghĩa.Miền quan tâm của người dùng gọi là “phạm vi ngữ cảnh”B1: Phân các trang Web thành các lớp chủ đề, mỗi lớp tương tứng với 1 vector PageRank, mà thành phân của nó là giá trị PageRank của mỗi trang trong lớp.B2: Được thực hiện trong thời gian hỏi đáp:Truy vấn thường thì chính truy vấn là phạm vi ngữ cảnh (tức là miền quan tâm của người dùng)Phức tạp hơn thì dùng thuật toán phân lớp Bayes
PR đánh giá hạng trang thông qua liên kết giữa các Website bằng cách tính vector riêng của ma trận kề biểu diễn các trang WebNhưng kích thước WWW là khổng lồ, cần rất nhiều thời gian tính toánViệc tính toán nhanh vector riêng sẽ giảm thời gian chết của việc chờ đưa kết quả sang các thành phần khác của máy tìm kiếmGiải pháp: Adaptive PageRank, sau khi cài đặt và chạy chương trình, độ quan trọng của các trang Web hội tụ nhanh hoặc chậm. Ta sẽ tận dụng những trang hội tụ sớm và kết quả độ quan trọng của các trang đã hội tụ có thể không cần tính tiếp giảm tính toán dư thừa, tăng hiệu suất tính toán của hệ thống !