TÌM HIỂU VÀ CÀI ĐẶT CÁC THUẬT TOÁN XẾP HẠNG TRANG WEB

34 1.1K 4
TÌM HIỂU VÀ CÀI ĐẶT CÁC THUẬT TOÁN XẾP HẠNG TRANG WEB

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tìm hiểu và cài đặt các thuật toán xếp hạng trang web TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CAO HỌC CÔNG NGHỆ THÔNG TIN QUA MẠNG CƠ SỞ DỮ LIỆU NÂNG CAO BÀI THU HOẠCH: TÌM HIỂU VÀ CÀI ĐẶT CÁC THUẬT TOÁN XẾP HẠNG TRANG WEB Giảng viên: PGS. TS. Đỗ Phúc Học viên thực hiện: Huỳnh Tuấn Anh CH1101004 Khóa 6 TpHCM, 08/2012 GV: PGS. TS. Đỗ Phúc HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web Lời cám ơn. Em xin chân thành cám ơn TS. Đỗ Phúc đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời gian học chuyên đề này. Xin chân thành cám ơn quý thầy cô trong Trường Đại Học Công Nghệ Thông Tin, Đại Học Quốc Gia Tp.HCM đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu, tạo mọi điều kiện tốt cho chúng em học tập và nghiên cứu. Xin chân thành cám ơn gia đình và bạn bè đã ủng hộ, giúp đỡ và động viên em trong thời gian học tập và nghiên cứu. Mặc dù đã cố gắng hoàn thành bài luận nhưng chắc chắn không tránh khỏi thiếu sót. Em kính mong nhận được sự thông cảm và tận tình chỉ bảo của quý thầy cô. Học viên thực hiện Huỳnh Tuấn Anh TpHCM, 08/2012 GV: PGS. TS. Đỗ Phúc HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web Mục Lục GV: PGS. TS. Đỗ Phúc HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web Chương 1: Thuật toán PageRank I. Giới thiệu về PageRank: 1.1. Định nghĩa: PageRank hay Ranking viết tắt là PR tạm dịch là thứ hạng trang. Khi nói đến PageRank người ta thường nghĩ đến ngay Google PageRank. Đó là một hệ thống xếp hạng trang Web của các máy tìm kiếm nhằm sắp xếp thứ tự ưu tiên đường dẫn URL trong trang kết quả tìm kiếm. PageRank™ là một thương hiệu của Google, được phát triển ở Đại học Stanford bởi Larry Page và Sergey Brin (2 nhà đồng sáng lập Google Inc) trong một dự án về công cụ tìm kiếm năm 1995. PageRank là chỉ số xếp hạng của một trang web theo cách nhìn của Google có giá trị thay đổi từ 0 đến 10 (0 là không quan trọng chút nào và 10 là rất, rất quan trọng). Chỉ số PageRank của một website nào đó không chỉ phụ thuộc vào số liên kết ngược (BackLink) tới website đó, mà còn nó còn dựa vào mức độ quan trọng của các liên kết ngược đó. Nói một cách khác, chỉ số PageRank của một website nào đó là kết qủa bầu chọn của tất cả các trang web khác trên toàn thế giới WWW cho website đó về mức độ quan trọng của trang. Mỗi liên kết ngược là 1 phiếu bầu. Các phiếu bầu này có mức độ ảnh hưởng khác nhau, sự khác nhau đó phụ thuộc vào chất lượng (hay tính quan trọng) của mỗi trang đặt liên kết ngược. Website nào có chỉ số PageRank cao thì chứng tỏ đó là website chất lượng quan trọng (High-quality, Important). Google kiểm tra số lần mà từ khóa xuất hiện trên trang và xem xét tất cả các khía cạch khác (Người ta thường gọi là yếu tố thứ n+1, vì Google từ lâu vẫn giấu kín thuật toán xếp hạng trang web của mình và tất cả những gì mọi người biết là một điểm khá chung chung: Nếu trang web của bạn càng được nhiều trang khác chỉ đến thì trang của bạn 'có lẽ' sẽ được xếp hạng cao hơn.) về nội dung của trang (và cả nội dungtìm kiếm tốt nhất cho người dùng của các trang liên kết tới nó) để xác định kết quả. Kết luận, Google PageRank là hệ thống kiểm định giá trị liên kết nhận được, dựa vào số lượng và chất lượng liên kết, để quyết định tầm quan trọng của trang web. Ngoài ra PageRank còn tính dựa trên những yếu tố khác mà Google không công khai (vì e ngại webmaster sẽ “chạy đua PageRank” một cách không công bằng). 1.2. Những lợi ích của PageRank: Google PageRank hiện nay được coi là chỉ số đáng tin cậy nhất đánh giá giá trị mỗi trang web. Một trang web có chỉ số Google PageRank cao sẽ đem lại ấn tượng đáng tin cậy GV: PGS. TS. Đỗ Phúc 4 HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web cho khách truy cập, điều này đặc biệt có ý nghĩa với các website kinh doanh thương mại điện tử. Google PageRank ảnh hưởng trực tiếp tới vị trí hiển thị của mỗi trang web khi cạnh tranh thứ hạng hiển thị trong danh sách kết quả tìm kiếm của Google. Nếu bạn muốn website của mình tăng thứ hạng trong danh sách kết quả tìm kiếm của Google, hãy nâng cao Google PageRank cho các trang web trong website của bạn. Google PageRank là một công cụ hỗ trợ các webmaster quản trị website. Đồng thời, một trang web có Google PageRank cao phần nào chứng minh năng lực quản trị tốt của webmaster website đó. 1.3. Làm thế nào để xem Google PageRank của một trang web? Bạn có thể sử dụng Google Toolbar – thanh công cụ hỗ trợ người dùng duyệt web. Hoặc bạn có thể kiểm tra Google PageRank trực tuyến tại các máy chủ của Google. 1.4. Làm thế nào để tăng Google PageRank? Về cơ bản, theo các chuyên gia của Google: "Không được sử dụng các phương pháp giả tạo, hãy tạo ra các trang web cho mọi người chứ không phải cho các công cụ tìm kiếm". Cấu trúc website, cấp bậc cần rõ ràng, nội dung thông tin cần phong phú, hữu ích. Website không được chứa các liên kết lỗi, các lỗi HTML, lỗi câu lệnh. Đăng ký website vào Open Directory Project và Yahoo Directory!, cũng như các website chất lượng khác. II. Thuật toán PageRank Page và Brin đã đưa ra một thuật toán nhằm giúp cho công việc tính toán hạng trang. Thuật toán này dựa trên ý tưởng rằng: nếu có links từ trang A đến trang B thì có thể coi như là một sự tiến cử của trang A đối với trang B. Điều này cũng có thể thấy được một cách trực quan rằng nếu một trang Web nào đó được liên kết với trang Yahoo thì chắc chắn sẽ quan trọng hơn nêu nó được liên kết với một trang vô danh nào đó. Giả sử ta có một tập các trang Web với các liên kết giữa chúng, khi đó ta có 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. 2.1. Thuật toán PageRank: Trước tiên chúng ta giới thiệu một định nghĩa về PageRank thể hiện những điều ta xem xét ở trên và bàn về khía cạnh tính toán nó trước khi đạt được một phương pháp có thể được áp dụng trong thực tế. Công việc được tiến hành như sau: GV: PGS. TS. Đỗ Phúc 5 HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web + Đánh số các trang Web có được từ 1,2 … đến n. + Gọi N(i) là số liên kết ra ngoài của trang thứ i. + Gọi B(i) là số các trang Web có liên kết đến trang i. Giả sử rằng các trang Web tạo thành một đồ thị liên thông. Khi đó với công thức PageRank thô, gọi r(i) là hạng tương ứng với trang i: ∑ ∈ = )( )(/)()( iBj jNjrir Ta có thể viết các phương trình này dưới dạng r =A T r trong đó: + r là vector [r(1),…,r(n) ] trong đó các thành phần tương ứng là các hạng của các trang Web. + A là ma trận kích thước n.n trong đó các phần tử jij Na /1= nếu có liên kết từ i đến j, và a ij = 0 nếu ngược lại. Như vậy có thể thấy vector PageRank r chính là vector riêng của ma trận A T . Như ta đã thấy ở trên việc tính toán mức độ quan trọng hay hạng trang theo thuật toán PageRank có thể được thực hiện thông qua việc phân tích các liên kết của trang Web đó. Nếu nó có những liên kết quan trọng trỏ tới thì rất có thể nó là 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 lại phải xem trang liên kết tới nó có hạng là bao nhiêu và có thể gây ra việc lặp vô hạn rất khó để giải quyết. Điều này được thực hiện khi ta đưa về các vector hạng, ta có thể tính toán được các hạng trang thông qua việc tính toán vector riêng của ma trận A T . Trong đại số tuyến tính có khá nhiều các phương pháp có thể tính được vector 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 vector PageRank là phương pháp luỹ thừa. Các công việc tính toán sẽ được làm như sau: 1. s← vector bất kỳ 2. r←A T s 3. Nếu esr <− thì kết thúc, khi đó ta nhận được r là vector PageRank. sr − phải tuân theo một chuẩn nào đó như chuẩn Euclide hay chuẩn bình phương. 4. Nếu không thì r←s, quay lại bước 2. Trong thực tế không phải lúc nào chúng ta cũng gặp trường hợp các trang Web lập thành một đồ thị liên thông. Trên WWW có rất nhiều các trang Web mà chúng không hề có trang nào liên kết tới hay không liên kết tới trang Web nào khác cả. Đối với những trang không có liên kết tới trang khác khi tính toán PageRank của nó sẽ rất khó được tính toán do tập hợp các liên kết ra ngoài là N(i)=0, do vậy sẽ không tính được PageRank. Điều này có thể làm cho quá trình tính toán gặp nhiều khó khăn. Một điều nữa là bất kỳ trang web nào ra GV: PGS. TS. Đỗ Phúc 6 HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web đời cũng đều có ý nghĩa của nó, không có trang nào có ý nghĩa (hạng) bằng 0 cả, cho dù trang đó của cá nhân thì nó cũng có ý nghĩa riêng cho người đó. Do vậy cần phải cải tiến công thức PageRank cho phù hợp với thực tế. Công thức PageRank được sửa đổi có dạng như sau: ∑ ∈ −+∗= i Bj ndjNjrdir /)1()(/)()( Việc thêm “hệ số hãm” d (thường được chọn d=0.85) có ý nghĩa như sau: bổ sung thêm giá trị PageRank vào cho các trang không có link ra ngoài. Ta cũng nhận thấy khi d=1 thì công thức sẽ quay lại trường hợp PageRank thô. Page và Brin [2] cũng đã chỉ ra rằng các giá trị này có thể hội tụ khá nhanh, trong vòng khoảng 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. 2.2. Thuật toán Adaptive PageRank: PageRank là một trong những thuật toán thịnh hành nhất và có hiệu quả nhất trong công việc tìm kiếm các thông tin trên Internet hiện nay, và thuật toán đó cũng đang được tìm kiếm trong máy Google. Như chúng ta đã xem xét ở trên, PageRank sẽ tìm cách đánh giá hạng các trang thông qua các liên kết giữa các trang Web. Việc đánh giá này có thể được thực hiện thông qua việc tính toán vector riêng của ma trận kề biểu diễn cho các trang Web. Nhưng với kích cỡ khổng lồ của mình, WWW có thể làm cho công việc tính toán này tốn rất nhiều ngày. Cần phải tăng được tốc độ tính toán này lên vì hai lý do: + Cần có được kết quả sớm để đưa được những thông tin sang các bộ phận khác trong cùng máy tìm kiếm, việc tính toán nhanh vector PageRank có thể giúp giảm thiểu thời gian chết của những bộ phận đó. + Hiện nay, các phương pháp nghiên cứu mới đều tập trung vào việc đánh giá dựa trên những tiêu chí do cả người dùng quan tâm, do vậy cần phải tính toán nhiều vector PageRank, mỗi vector hướng tới một tiêu đề khác nhau. Việc tính toán nhiều vector này cũng đòi hỏi mỗi vector thành phần được tính toán nhanh chóng. Việc tăng cường tốc độ tính toán có thể vấp phải nhiều khó khăn kích thước của WWW. Vì vậy trong [3], đã giới thiệu một cách để giúp đỡ cho quá trình tính toán được nhanh hơn. Phương pháp này xuất phát từ ý tưởng sau: khi cài đặt chương trình và chạy, các trang Web có tốc độ hội tụ không giống nhau. Vậy chúng ta có thể tận dụng những trang hội tụ trước và kết quả của những trang đã hội tụ đó có thể không cần phải tính lại nữa. Như vậy ta có thể giảm được những tính toán dư thừa và làm tăng được hiệu suất tính toán của hệ thống. Thực sự như vậy thuật toán này là một cải tiến của thuật toán PageRank, thuật toán này có thể làm tăng được tốc độ tính toán bằng cách giảm đi những tính toán dư thừa. GV: PGS. TS. Đỗ Phúc 7 HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web 2.2.1. Adaptive PageRank: Giả sử việc tính toán vector PageRank của chúng ta đã được thực hiện đến vòng lặp thứ k. Ta cần tính toán )()1( . kk rAr = + (*) gọi C là tập hợp các trang Web đã hội tụ đến mức được chấp nhận nào đó và N là tập các trang Web chưa hội tụ. Khi đó ta chia ma trận A ra làm hai ma trận con, A N cỡ m.n là ma trận kề đại diện cho những liên kết của m trang chưa hội tụ, còn A c cỡ (n-m).n là ma trận kề đại diện cho những liên kết của (n-m) trang đã hội tụ. Tương tự, ta cũng chia vactor r (k) ra thành hai vector )(k N r tương ứng với những thành phần của r (k) đã hội tụ còn )(k C r tương ứng với những thành phần của r (k) chưa hội tụ. Vậy ta có thể viết lại ma trận A và r (k) dưới dạng như sau:         = )( )( )( k C k N k r r r và         = C N A A A ta có thể viết lại phương trình (*) như sau:                 =         + + )( )( )1( )1( . k C k N C N k C k N r r A A r r Do những thành phần của k C r đã hội tụ do vậy ta không cần tính 1 + k C r nữa và như vậy việc tính toán sẽ giảm đi do không phải tính toán )(k C rA nữa. )()1( )1( * k C k C k NN k N rr rAr = = + + 2.2.2. Những cải tiến của phương pháp này: Theo [3], việc giảm những tính toán của phương pháp PageRank giúp chúng ta có thể tính toán nhanh hơn tuy nhiên đây chưa phải là đến đích cuối cùng cần đạt được. 2.2.2.1 Filter-Based Adaptive PageRank: Vì ma trận A có kích cỡ cực lớn nên việc sắp xếp lại ma trận A để tạo ma trận con A N sẽ khó có thể thực hiện được trong mỗi vòng lặp. Hơn nữa không có cách hiệu quả để phớt lờ đi những đầu vào không cần thiết (những liên kết tới các trang đã hội tụ) do vậy trong thực tế việc cài đặt thuật toán có thể được thực hiện như sau: GV: PGS. TS. Đỗ Phúc 8 HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web Do A C không được sử dụng trong việc tính toán PageRank nên ta có thể định nghĩa một ma trận         = 0 ' N A A và         = ′ k C k C r r 0 . Với những định nghĩa này phương trình (*) có thể được viết như sau: k C kk rrAr ′ + ′ = + )()1( Những định nghĩa trên cũng có thể được mô tả theo một cách khác: Định nghĩa ma trận A ” như sau:      ∈ = ′′ ij A Ciif A 0      ∈ = ′′ 0 )( Ciifr r k k C Nghĩa là đối với ma trận A ” nhận được thưa hơn rất nhiều so với ma trận A nên việc tính toán sẽ trở nên nhanh hơn so với khi chúng ta sắp xếp lại ma trận đại diện cho các phần tử đã hội tụ hay chưa hội tụ. 2.2.2.2 Modified Adaptive PageRank: Trong thuật toán Adaptive PageRank tốc độ tính toán được tăng nhanh lên do đã giảm đi được những tính toán dư thừa bằng cách không tính những giá trị đã hội tụ. Trong [3] đã đưa ra những thử nghiệm tính toán dư thừa bằng cách không tính những giá trị đã hội tụ. Chúng ta có thể viết lại ma trận A một cách kỹ hơn như sau:         = CCCN NNNN AA AA A với A NN là ma trận kề đại diện cho những liên kết của các trang chưa hội tụ tới những trang chưa hội tụ, A CN là ma trận kề đại diện cho những liên kết của các trang đã hội tụ tới những trang chưa hội tụ và tương tự cho các phần tử khác A NC , A CC . Vì r C và A NC r C không thay đổi sau vòng lặp thứ k vì chúng đã hội tụ, nên phương trình (*) có thể được viết lại: )()()1( k CCN k NNN k N rArAr += + Ma trận A đã được chia nhỏ ra đồng thời không phải tính lại giá trị một số ma trận con do vậy công việc tính toán được giảm đi đáng kể. 2.3. Topic-sensitive PageRank : GV: PGS. TS. Đỗ Phúc 9 HVTH: Huỳnh Tuấn Anh ngược lại ngược lại Tìm hiểu và cài đặt các thuật toán xếp hạng trang web P ageRank là phương pháp tìm kiếm hiện đang được áp dụng trên máy tìm kiếm Google. Tuy nhiên phương pháp này chỉ quan tâm đến các liên kết mà không quan tâm đến nội dung của trang Web có chứa liên kết đó, do vậy có thể dẫn tới những sai lạc trong thông tin tìm kiếm được. Yêu cầu đặt ra là cần phải đưa ra một phương pháp có tốc độ nhanh như phương pháp PageRank và lại có quan tâm đến nội dung của trang Web thông qua "chủ đề" của nó. Hơn nữa, nếu khai thác được mối quan tâm của người dùng đối với các trang Web trong việc tính độ phù hợp của trang Web với câu hỏi người dùng thì việc đó càng có ý nghĩa. Taher H. Haveliwala [5,6] đề xuất phương pháp mới nhằm đáp ứng yêu cầu trên, đó là phương pháp PageRank theo chủ đề (Topic sensitive PageRank). Các tác giả sử dụng khái niệm "phạm vi ngữ cảnh" để biểu thị mối quan tâm của người dùng. Trong [4], thuật toán tìm kiếm trang Web có nội dung tương tự cho một cách tiếp cận khác khi đề cập tới xem xét khía cạnh nội dung trang Web trong bài toán tìm kiếm. Thuật toán gồm hai bước được mô tả sơ bộ như dưới đây. Tại bước đầu tiên, các trang Web trong cơ sở dữ liệu được phân thành các lớp theo chủ đề c 1 ,c 2 , ,c n ; gọi T j là tập hợp những trang Web theo chủ đề c j . Mỗi lớp tương ứng với một vector PageRank của chủ đề mà mỗi thành phần là giá trị PageRank của mỗi trang trong lớp. Vector PageRank của chủ đề được tính như bình thường tuy nhiên thay vì sử dụng =[1/N], thuật toán sử dụng vector = trong đó:      ∉ ∈ = j jj ij Ti TiT v 0 ||/1 Gọi là vector các từ khóa, gồm tất cả các từ khóa trong các tài liệu của các chủ đề; D jt là số lần xuất hiện của từ khóa t trong tất cả các tài liệu của chủ đề c j . Bước thứ hai được thực hiện trong thời gian hỏi- đáp. Giả sử có truy vấn q, gọi q’ là phạm vi ngữ cảnh của q [4, 5]. Mô tả sơ bộ khái niệm phạm vi ngữ cảnh như sau. Với truy vấn thông thường (từ hộp thoại) thì thì q’ chính là q. Trường hợp truy vấn q được đặt bằng cách tô sáng từ khoá q trong trang Web u thì q’ sẽ chứa các từ khoá trong u bao gồm cả q. Sau đó tính xác suất để q’ thuộc về các chủ đề khác nhau. Sử dụng thuật toán phân lớp Bayes với (i) Tập huấn luyện gồm những trang được liệt kê trong các chủ đề; (ii) Đầu vào là câu truy vấn hoặc phạm vi ngữ cảnh của câu truy vấn; (iii) Đầu ra là xác suất để đầu vào thuộc mỗi chủ đề. GV: PGS. TS. Đỗ Phúc 10 HVTH: Huỳnh Tuấn Anh [...]... đặt các thuật toán xếp hạng trang web trang web như trong thuật toán HITS yêu cầu Java sẽ kết nối với Maple để thực hiện các xử lý trong Maple và lấy kết quả để hiển thị lên form Các hàm chính cài đặt thuật toán HITS trong Java (chủ yếu xử lý tìm kiếm truy vấn và tìm kiếm các trang web) như sau: - Dùng 1 search engine để tìm kiếm truy vấn query Lấy t (t = 200 theo Kleinberg) trang webs có thứ hạng cao... catch và handle exception này // một cách thích hợp } } GV: PGS TS Đỗ Phúc 25 HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web - Mở rộng W bằng cách lấy tất cả các trang web được bất kỳ 1 trang web nào trong W trỏ đến và bất kỳ 1 trang nào (d = 10) trỏ đến một trang trong W Tập các trang này gọi là Base Set S (1000-5000) public void GrowRootSetW(String address) { // Tìm những trang. .. Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web Max: 1.000; Total: 7.000; Mean: 1.000 IV Ưu điểm và nhược điểm của PageRank 4.1 Ưu điểm: PageRank là một thuật toán tốt, tốc độ tìm kiếm rất nhanh, PageRank sẽ tính toán một giá trị toàn cục cho tất cả các trang Web một cách độc lập với các câu truy vấn Hơn nữa quá trình tính toán lại được tiến hành một cách ngoại tuyến, nghĩa là tính toán. .. giai đoạn và theo [6] thì phương pháp SVD tính chính xác hơn khi giảm kích thước của dữ liệu so với phương pháp Random Projection 3.2.2 SVD - Example: X = U.S.VT = GV: PGS TS Đỗ Phúc x 21 x HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web Dimensionality Reduction: = ~ GV: PGS TS Đỗ Phúc x x x x 22 HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web 1 2... search engine để tìm kiếm q 2/ Lấy t (t=200 theo Kleinberg) trang webs có thứ hạng cao nhất Tập các web này gọi là Root Set W 3/ Mở rộng W bằng cách lấy tất cả các trang web được bất kỳ một trang nào trong W trỏ đến và bất kỳ một trang nào (d=50) trỏ đến một trang trong W Tập các trang web này gọi là Base Set W (1000-5000 trang) 4/ Mỗi trang web trong S được gán 1 authority score và 1 hub score, tất... của tập hợp các trang Web kết quả, hoặc nguồn các trang trong tập mở đầu không còn nữa Gọi tập kết quả nhận được là S + Đánh số các trang trong tập kết quả S từ 1 đến n + Gọi B(i) là số trang Web có liên kết tới trang i + Gọi F(i) là số trang Web được trang i trỏ tới Các chỉ số “authority” ai và “hub” hi cho mỗi trang Web sẽ được tính trong các bước I và O Trong bước I: chỉ số a i của trang i sẽ được... quả các trang web tìm được của search engine (trong chương trình dùng search engine là Live Search của Microsoft) và mỗi trang tìm được sẽ dùng search engine để tìm những trang trỏ đến trang này đồng thời mỗi trang tìm được cũng sẽ được phân tích để trích xuất ra các trang mà trang này trỏ đến Text field “Vertices & Adjacency Matrix of the Web Graph” hiển thị tất cả các trang web trong đồ thị và ma... Tìm hiểu và cài đặt các thuật toán xếp hạng trang web quan trọng của trang web do kết quả của PageRank có thể bị lợi dụng và thổi phồng một cách không chính xác Ví dụ như trang Adobe.com được đánh giá rất cao bởi PageRank bởi trang này được liên kết đến rất nhiều trên internet để tải về các sản phẩm Acrobat Reader và Flash Player "Tuy nhiên, người dùng internet không thực sự đến trang này một cách thường... để build và sử dụng Argos III Dimensionality Reduction: 3.1 Why dimensionality reduction? Do số lượng các trang web sử dụng trong thuật toán HITS rất lớn nên chúng ta phải dùng phương pháp giảm kích thước ma trận kề của đồ thị để cho việc tính toán được nhanh hơn với sai số có thể chấp nhận được GV: PGS TS Đỗ Phúc 20 HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web Và phương... là trang web mà trang address trỏ đến vào đồ thị, // đồng thời thêm cạnh từ trang web này đến trang address, có trọng số là 1 engine.evaluate("AddVertex(\""+page+"\"):"); engine.evaluate("AddEdge(\""+address+"\",\""+page+"\"):"); GV: PGS TS Đỗ Phúc 26 HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web } catch (MapleException me) { System.out.println(me.getMessage()); } // Tìm . Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web Mục Lục GV: PGS. TS. Đỗ Phúc HVTH: Huỳnh Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web Chương 1: Thuật toán PageRank I Tìm hiểu và cài đặt các thuật toán xếp hạng trang web TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN CAO HỌC CÔNG NGHỆ THÔNG TIN QUA MẠNG CƠ SỞ DỮ LIỆU NÂNG CAO BÀI THU HOẠCH: TÌM HIỂU VÀ CÀI ĐẶT CÁC THUẬT. Tuấn Anh Tìm hiểu và cài đặt các thuật toán xếp hạng trang web + Đánh số các trang Web có được từ 1,2 … đến n. + Gọi N(i) là số liên kết ra ngoài của trang thứ i. + Gọi B(i) là số các trang Web có

Ngày đăng: 10/04/2015, 13:22

Từ khóa liên quan

Mục lục

  • Lời cám ơn.

  • Em xin chân thành cám ơn TS. Đỗ Phúc đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời gian học chuyên đề này.

  • Xin chân thành cám ơn quý thầy cô trong Trường Đại Học Công Nghệ Thông Tin, Đại Học Quốc Gia Tp.HCM đã tận tình giảng dạy, trang bị cho em những kiến thức quý báu, tạo mọi điều kiện tốt cho chúng em học tập và nghiên cứu.

  • Xin chân thành cám ơn gia đình và bạn bè đã ủng hộ, giúp đỡ và động viên em trong thời gian học tập và nghiên cứu.

  • Mặc dù đã cố gắng hoàn thành bài luận nhưng chắc chắn không tránh khỏi thiếu sót. Em kính mong nhận được sự thông cảm và tận tình chỉ bảo của quý thầy cô.

  • Chương 1: Thuật toán PageRank

  • I. Giới thiệu về PageRank:

  • II. Thuật toán PageRank

    • 2.1. Thuật toán PageRank:

    • Ta có thể viết các phương trình này dưới dạng r =ATr trong đó:

    • Trong thực tế không phải lúc nào chúng ta cũng gặp trường hợp các trang Web lập thành một đồ thị liên thông. Trên WWW có rất nhiều các trang Web mà chúng không hề có trang nào liên kết tới hay không liên kết tới trang Web nào khác cả. Đối với những trang không có liên kết tới trang khác khi tính toán PageRank của nó sẽ rất khó được tính toán do tập hợp các liên kết ra ngoài là N(i)=0, do vậy sẽ không tính được PageRank. Điều này có thể làm cho quá trình tính toán gặp nhiều khó khăn. Một điều nữa là bất kỳ trang web nào ra đời cũng đều có ý nghĩa của nó, không có trang nào có ý nghĩa (hạng) bằng 0 cả, cho dù trang đó của cá nhân thì nó cũng có ý nghĩa riêng cho người đó. Do vậy cần phải cải tiến công thức PageRank cho phù hợp với thực tế. Công thức PageRank được sửa đổi có dạng như sau:

      • 2.2. Thuật toán Adaptive PageRank:

        • 2.2.1. Adaptive PageRank:

        • 2.2.2. Những cải tiến của phương pháp này:

        • 2.2.2.1 Filter-Based Adaptive PageRank:

        • 2.2.2.2 Modified Adaptive PageRank:

          • 2.3. Topic-sensitive PageRank:

          • III. PageRank Example:

          • IV. Ưu điểm và nhược điểm của PageRank

          • 4.1 Ưu điểm:

          • PageRank là một thuật toán tốt, tốc độ tìm kiếm rất nhanh, PageRank sẽ tính toán một giá trị toàn cục cho tất cả các trang Web một cách độc lập với các câu truy vấn. Hơn nữa quá trình tính toán lại được tiến hành một cách ngoại tuyến, nghĩa là tính toán trong cơ sở dữ liệu của mình, do vậy sẽ đỡ mất thời gian. Đối với các câu truy vấn liên quan đến khoa học hay nghiên cứu thì PageRank cho kết quả rất tuyệt vời vì những tài liệu này thường được trích dẫn nhiều từ tài liệu khác.

          • Google nhấn mạnh rằng PageRank, được trao bằng sáng chế cho Đại học Stanford, không phải là phương pháp duy nhất để xác định kết quả tìm kiếm. Thực vậy, Google cho biết họ sử dụng kết quả của hơn 200 phương pháp khác nhau để đánh giá toàn thể cấu trúc Web và xác định những trang nào là quan trọng nhất.

          • 4.2 Nhược điểm:

          • Các vấn đề trên WWW không chỉ có về khoa học mà còn có nhiều chủ đề khác nữa, do thuật toán PageRank không quan tâm đến nội dung của trang Web có chứa câu truy vấn, nên đôi khi sẽ đưa ra những trang Web không phù hợp với yêu cầu của người dùng. Hơn nữa, thuật toán này chỉ quan tâm đến các liên kết, vậy cứ trang nào có nhiều liên kết tới thì trang đó có thể có thứ hạng cao. Điều này dẫn tới việc không chính xác thông tin, và có thể có người thuê các trang Web danh tiếng liên kết đến trang Web của họ để họ được hưởng chỉ số PageRank cao.

Tài liệu cùng người dùng

Tài liệu liên quan