Khái niệm PageRankPageRank dựa vào những tính chất dân chủ tự nhiên riêng biệt của webbằ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âncủa trang web.. Mộ
Trang 1ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINHTRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BỘ MÔN KHOA HỌC VÀ KỸ THUẬT THÔNG TIN
BÁO CÁOMÔN MẠNG XÃ HỘI
Nhóm 7: TÍNH PAGE RANK TRONG ỨNG DỤNG UIT_SNA
Giảng viên hương dẫn: PGS.TS Đỗ Phúc
Th.S Nguyễn Thị Anh Thư
Sinh viên thực hiện:
1 Trần Đức Tài 135207232 Nguyễn Quốc Dũng 135201343 Vũ Ngọc Cẩn 13520065
Lớp: IS353.G12Khóa: 08
TP Hồ Chí Minh, ngày 18 tháng 11 năm 2015
Trang 2M c L cục Lụcục Lục
I.Khái quát 3
1.Giới thiệu chung 3
2. Khái niệm PageRank 4
3.Thủ thuật 4
4.Giá trị của PageRank 4
II Mô tả thuật toán 5
III.Phương pháp 6
IV.Ứng dụng 10
1.Đưa Google PageRank vào phân tích hóa học 10
2.Tìm kiếm web của Google 10
Trang 3Page-PageRank của Google hiển thị trên GoogleToolbar là một số nguyên từ 0cho đến 10 Đơn vị PageRank có tỷ lệ logarithmic dựa trên khối lượng link trỏ đếncũng như chất lượng của những trang Web chứ đường link xuất phát này.
PageRank là thước đo duy nhất mà Google cung cấp cho Webmaster đểđánh giá mức độ phổ biến của trang PageRank sẽ ảnh hưởng tới thứ hạng trêntrang kết quả tìm kiếm Thường thì trang có PageRank càng cao thì vị trí của nótrên trang kết quả tìm kiếm càng được ưu tiên
Trang 42 Khái niệm PageRank
PageRank dựa vào những tính chất dân chủ tự nhiên riêng biệt của webbằ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âncủ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, A sẽ là nhân tố để bình chọn cho B Tuy nhiên, Google xem xétnhiều hơn là 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 đến bình chọn bình chọn được thực hiện (votecast) bởi các trang càng ‘quan trọng’ thì trọng số càng ‘nặng’ và làm cho các trangkhác trở nên ‘quan trọng’
Cố gắng có được liên kết từ các trang Web hay Blog có chất lượng,thứ hạng cao Số lượng liên kết từ các tảng này sẽ làm tăng PageRank trang Webcủa bạn một các tương đối Mức độ quan trọng của PageRank được tính theo hệ số10, tức là trang có PageRank 3, sẽ quan tọng gấp 10 lần trang có PageRank 2
4 Giá trị của PageRank
Giá trị Pagerank hình thành từ thuật toán toán học dựa trên webgraph: cáctrang World Wide Web được coi như các đỉnh và các đường link là các cạnh Khihình thành webgraph người ta có tính đến những trang của các cơ quan có thẩmquyền như cnn.com hay usa.gov Giá trị xếp hạng cho thấy tầm quan trọng củatừng trang cụ thể Mỗi đường link tới trang web sẽ được tính như 1 sự hỗ trợ làmtăng thêm giá trị Pagerank Giá trị Pagerank của trang được định nghĩa đệ quy và
Trang 5phụ thuộc vào số lượng và giá trị của các trang mà có link dẫn đến trang đó(incoming links) 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.
Trên thực tế khái niệm PageRank rất khó để thao tác Đã có nhiều nghiêncứu tiến hành xác định những ảnh hưởng sai tới PageRank ranking Mục đích làtìm một cách loại bỏ hiệu quả những link từ các văn bản với những ảnh hưởng saitới PageRank
II Mô tả thuật toán
Pagerank là phân bố xác suất, được sử dụng để thể hiện khả năng khi mộtngười click chuột ngẫu nhiên vào đường link và sẽ tới đc trang web cụ thể
Pagerank có thể được tính cho các tập văn bản với tài liệu có độ dài bấtkỳ Khi bắt đầu tính toán thì sự phân bổ đó được chia đều cho tất cả những văn bảntrong tập văn bản
Các tính toán Pagerank cần một số lần “lặp đi lặp lại” qua các văn bảntrong tập để có thể đạt được giá trị thực tế một cách thiết thực hơn
Xác suất có giá trị từ 0 đến 1 Với giá trị 0.5, thường được hiểu là “50%cơ hội” của một việc gì đó có thê xảy ra Trong Pagerank, 0.5 có nghĩa là 50% cơhội một người nào đó click vào một link ngẫu nhiên để được chuyển đến văn bảnđó (giá trị pagerank = 0.5)
PageRank là thuật toán tìm kiếm được phát triển bởi hai nhà đồng sánglập Google là Larry Page và Sergey Brin với giả thuyết: “Sự lớn mạnh của mộttrang web có thể được đánh giá bởi số hyperlink (siêu liên kết) được trỏ đến trangweb”
Thuật toán PageRank thật sự không khó như bạn nghĩ, nó được tính như sau:
Trang 6PR (A): PageRank của trang APR (T1): PageRank của trang T1C (T1): Số liên kết đi từ trang T1d: Hệ số tắt (nằm trong khoảng 0<d<1, mặc định là 0.85)
III.Phương pháp
PageRank phát triển thêm vào ý tưởng cũ bằng cách chú ý đến độ quan trọngcủa các trang Web liên kết đến trang Web mà ta đang xét Phương pháp này thừanhận nếu có liên kết từ trang A tới trang B thì độ quan trọng của trang A cũng ảnhhưởng (được san sẻ) tới độ quan trọng của trang B
Pagerank là phân bố xác suất, được sử dụng để thể hiện khả năng khi mộtngười click chuột ngẫu nhiên vào đường link và sẽ tới đc trang web cụ thể.Pagerank có thể được tính cho các tập văn bản với tài liệu có độ dài bất kỳ Khi bắtđầu tính toán thì sự phân bổ đó được chia đều cho tất cả những văn bản trong tậpvăn bản Các tính toán Pagerank cần một số lần “lặp đi lặp lại” qua các văn bảntrong tập để có thể đạt được giá trị thực tế một cách thiết thực hơn Xác suất có giátrị từ 0 đến 1 Với giá trị 0.5, thường được hiểu là “50% cơ hội” của một việc gì đócó thê xảy ra Trong Pagerank, 0.5 có nghĩa là 50% cơ hội một người nào đó clickvào một link ngẫu nhiên để được chuyển đến văn bản đó (giá trị pagerank = 0.5)
Giả sử một nhóm gồm 4 trang web: A,B,C,D, những link từ một trang đến
chính nó không được tính, mỗi trang web có 1 đường dẫn duy nhất đến 1 trang webkhác Giá trị Pagerank của các trang ban đầu được cho là bằng nhau Tổng giá trịPagerank trên tất cả các trang là tổng số trang web tại thời điểm đó, do đó mỗitrang trong ví dụ này sẽ có một pagerank ban đầu tương đương với 1 Tuy nhiêntrong phần còn lại và các ví dụ của bài này sẽ có giá trị tương đối từ 0 đến 1 Do đó
Trang 7giá trị ban đầu cho mỗi trang là 0.25 Pagerank chuyển từ một trang đến các trangkhác bằng các đường link, trong những bước tính tiếp theo giá trị sẽ được chia đều
cho tất cả các liên kết đi Nếu các liên kết duy nhất trong hệ thống từ các trang B,
C và D tới A,, mỗi liên kết sẽ chuyển giá trị bằng 0.25 Pagerank A khi tính trong
lần tiếp theo, tổng cộng là 0,75
Khác với ví dụ trên, B có link đến trang C và A, trong khi D có các link đếncả 3 trang Như vậy trong bước tiếp theo, trang B sẽ chuyển tải một nửa giá trị củamình, tương đương với 0.125 tới trang A và 0.125 tới trang C Khi trang D có 3
link trỏ đi, có nghĩa nó sẽ chuyển 1/3 giá trị của mình, tương đương với 0.083 tới
A.
PageRank được tính cho 1 outbound link sẽ bằng số score pagerank của
document đó chia cho số outbound link L( )
Công thức chung, giá trị Pagerank đối với bất kỳ trang u có thể tính như sau:
Trang 9Nếu như một người lướt web bắt đầu từ một trang bất kỳ thì có 85% xácsuất chọn một link ngẫu nhiên trên trang mà họ đang xem và 15% họ sẽ chọnchuyển sang một trang web bất kỳ từ toàn bộ hệ thống các liên kết Người dùng sẽ
truy cập vào trang E với xác suất 8.1% (Xác suất 15% truy cập tới một trang bất
kỳ tương ứng với yếu tố damping là 85%.)
Nếu không có yếu tố damping, người dùng cuối cùng cũng sẽ kết thúc
quá trình lướt web tại trang A, B, hoặc C, và các trang khác sẽ có PageRank bằng0 Nếu như tính cả yếu tố damping, trang A vẫn liến kết đến tất cả các trang trong
hệ thống, mặc dù chỉ có 1 link trỏ đi.Gọi G là một đồ thị các trang Web Đặt G=(V, E ) với V=(1,2,…n) là tập nlà đỉnh của đồ thị ܩ (mỗi đỉnh là một trang Web cần tính hạng trang) còn ܧ là tậpcác cạnh, E = {(i, j) / nếu có siêu liên kết từ trang i tới trang j} Chúng ta giả thiếtrằng đồ thị trang Web là liên thông, nghĩa là từ một trang bất kì có thể có đườngliên kết tới một trang Web khác trong đồ thị đó
Cho một đồ thị tra ng Web G như trên Với mỗi trang Web i, ký hiệu N(i) làsố liên kết đi ra từ trang Web thứ i và B(i) là số các trang Web có liên kết đếntrang i
Khi đó hạng trang r(i) của trang Web i được định nghĩa như sau:
0 ngược lại
Trang 10Từ đó công thức PageRank được viết lại: r = rP
Phương trình trên cho thấy vector PageRank r chính là vector riêng của matrận chuyển P tương ứng với giá trị riêng π = 1 Trong đại số tuyến tính có một sốphương pháp tính vector riêng của ma trận, tuy nhiên do kích thước quá lớn của matrận đang xét, khi thi hành các tác giả đã sử dụng phương pháp lặp để tính toánvector PageRank
Phương pháp: cách thức đơn giản nhất để tính vector riêng của một ma trận
có thể được thực hiện thông qua việc lặp phép nhân một vector bất kỳ với ma trậnđã cho đến khi nào vector đó hội tụ Đầu tiên, chúng ta sẽ gán cho vectorPageRank một giá trị khởi tạo bất kỳ Sau đó, ta thực hiện phép nhân vector nàyvới ma trận đã cho một cách liên tục cho tới khi nó đạt tới điều kiện hội tụ thì dừnglại Vector thu được chính là vector PageRank cần tính
Quy trình tính toán được diễn tả như sau: 1 s vector bất kì
2 r sP3 nếu ||rs < ɛ|| thì kết thúc(ɛ là số dương rất bé, được gọi là sai số lặp) r làvector PageRank
Giá trị hội tụ của ma trận đối với vòng lặp tùy thuộc vào “khoảng cách” củahai giá trị riêng có giá trị lớn nhất (nói cách khác là hiệu của hai giá trị riêng lớnnhất) Page và Brin đã khẳng định rằng vòng lặp hội tụ khá nhanh, trong khoảng100 vòng lặp
IV.Ứng dụng1 Đư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ụngphần mềm PageRank của Google để tạo ra
Trang 11MoleculaRnetworks, phần mềm cho phép các nhà khoa học khám phá cấutrúc dung môi trong mô phỏng phân tử.
2 Tìm kiếm web của Google
PageRank của Google hiển thị trên Google Toolbar là một số nguyên từ 0cho đến 10 Đơn vị PageRank có tỷ lệ logarithmic dựa trên khối lượng link trỏ đếncũng như chất lượng của những trang Web chứ đường link xuất phát này
PageRank là thước đo duy nhất mà Google cung cấp cho Webmaster đểđánh giá mức độ phổ biến của trang PageRank sẽ ảnh hưởng tới thứ hạng trêntrang kết quả tìm kiếm Thường thì trang có PageRank càng cao thì vị trí của nótrên trang kết quả tìm kiếm càng được ưu tiên
3 Họat động
Sau khi thu thập được một số lượng tương đối các webpage trong danh mụccủa mình, Google sẽ xếp hạng các page theo mức độ tin cậy và danh tiếng của cáctrang đó- biểu thị bằng số link dẫn đến web đó Tất nhiên những yếu tố nội tại củatrang đó cũng được xét tới để đánh giá xếp hạng
1/3
1/2
1/21/2
Trang 121 Cấu trúc dữ liệu và giải thuật
Về cấu trúc dữ liệu, chương trình sử dụng danh sách liên kết để quản lí cácNode Dữ liệu đầu vào sẽ là ma trận liên kết giữa các Node trong đồ thị Sau khi dữliệu được đưa vào, chương trình sẽ xử lí để lấy dữ liệu cần thiết ra từ file sau đó dữliệu sẽ được lưu vào một danh sách liên kết để tiếp tục xử lí
Về mặt giải thuật, việc tính toán PageRank của một trang web phụ thuộc vàoviệc biết được hạng trang của các trang web liên kết tới nó Điều này có thể dẫnđến việc lặp vô hạn trong tính toán
Giải pháp: có thể tính được hạng trang thông qua việc tính vector riêng củama trận chuyển vị 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ậntiện chương trình sử dụng phương pháp lặp phép nhân một vector S bất kì với matrận chuyển vị AT của ma trận A đã cho đến khi vector đó hội tụ
Hiệu quả : Brin và Page chỉ ra rằng các giá trị này hội tụ khá nhanh, chỉ saukhông quá 100 lần lặp và có thể nhận được kết quả với sai số cho phép
Sử dụng lặp:B1: S vector bất kì;B2: P ATS;
Trang 13B3:| |P - S| | < thì lấy P là vectorPageRank, nếu không S P và quay lạibước 2;
Trên thực tế, có rất nhiều trang webkhông hề có liên quan đến bất kì trangnào(dangling node) gây ra hàng của ma trận A toàn số 0(vì không có outboundlink)
Giải pháp: nếu 1 trang là dangling node, ta sẽ coi như trang đó có outboundlink đến tất cả các trang của đồ thị
Trang 14Đọc file đưa vào chương trình:
Giao diện tính PageRank:
PageRank của các trang sau khi tính:
Trang 15Đồ thị thể hiện liên kết giữa các Node:
VI.Nhận xét* Ưu đi ể m
Trang 16PageRank 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ạikết quả rất khả quan