1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple

30 739 3

Đ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

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 419,52 KB

Nội dung

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA KHOA HỌC MÁY TÍNH  Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Giảng viên hướng dẫn: PGS. TS. ĐỖ VĂN NHƠN Học viên thực hiện: NGUYỄN PHƯƠNG ANH Lớp: Cao học Khóa 6 MSHV: CH1101159 TP. Hồ Chí Minh, tháng 01 năm 2013 LỜI CẢM ƠN Em xin bày tỏ lòng biết ơn sâu sắc đến PGS. TS. Đỗ Văn Nhơn, trường Đại học Công Nghệ Thông Tin, ĐHQG TP.HCM đã tận tình hướng dẫn, cung cấp kiến thức, truyền đạt những kinh nghiệm quí báu giúp em hoàn thành tốt bài tiểu luận này. Xin cám ơn cha, mẹ, các anh, chị em trong gia đình đã hỗ trợ, lo lắng và động viên. Đồng thời, xin cám ơn tất cả các bạn đã ủng hộ, giúp đỡ chúng tôi trong quá trình thực hiện bài tiểu luận này. Dù đã có nhiều cố gắng nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, em rất mong nhận được sự đóng góp ý kiến của các Thầy giáo, Cô giáo và các bạn để đề tài này được hoàn thiện hơn. Em xin chân thành cảm ơn! Tp Hồ Chí Minh, tháng 01 năm 2013 Học viên NHẬN XÉT (Của giảng viên hướng dẫn) MỤC LỤC Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 1 Thuật toán PageRank 1.1 Giới thiệu về PageRank 1.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. Chỉ số PageRank của một website nào đó không chỉ phụ thuộc vào số liên kết 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 đó. 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. 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 về nội dung của trang (và cả nội dung tì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. 1.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 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 GVHD: PGS. TS. Đỗ Văn Nhơn Học viên: Nguyễn Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 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.2 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 việc 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. 1.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: + Đá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 GVHD: PGS. TS. Đỗ Văn Nhơn Học viên: Nguyễn Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple 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: • s← vector bất kỳ • r←A T s • 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. • 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 đờ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. GVHD: PGS. TS. Đỗ Văn Nhơn Học viên: Nguyễn Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 1.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. 1.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ụ. GVHD: PGS. TS. Đỗ Văn Nhơn Học viên: Nguyễn Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 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 = = + + 1.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. ◦ 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: 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( GVHD: PGS. TS. Đỗ Văn Nhơn Học viên: Nguyễn Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 10 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:      ∈ = ′′ elseA Ciif A ij 0      ∈ = ′′ else Ciifr r k k C 0 )( 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ụ. ◦ 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ể. 1.2.2.3 Topic-sensitive PageRank 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ể GVHD: PGS. TS. Đỗ Văn Nhơn Học viên: Nguyễn Phương Anh [...]... Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 16 2 Hypertext Induced Topics Search (HITS) 2.1 Mô tả thuật toán HITS Thuật toán này dựa trên việc lựa chọn các trang Web và kết hợp chúng thành một đồ thị các trang Web Sau đó phân tích các liên kết trong đồ thị con đó để xác định được trang nào là trang “authority”, trang nào là trang “hub” đối với... luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 22 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. .. 0 Học viên: Nguyễn Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 21 3 Cài đặt thuật toán 3.1 Hướng dẫn sử dụng chương trình Để có thể chạy được chương trình, các bước cần phải thực hiện: - Cài đặt IDE Netbeans và phần mềm Maple - Đặt biến môi trường để Java có thể kết nối với Maple: Click chuột phải vào MyComputer  Properties (có thể dùng... Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 23 Các hàm chính cài đặt thuật toán HITS trong Maple (cài đặt những xử lý trong đồ thị và ma trận, giảm kích thước của ma trận bằng phương pháp SVD (Maple có hỗ trợ tính toán sẵn các vector U, S, V T từ ma trận X), tính vector hubs, vector authorities) như sau: - Tính authority scores và hub scores: L:... việc tính toán được nhanh hơn với sai số có thể chấp nhận được Và phương pháp sử dụng để giảm kích thước của ma trận trong việc cài đặt thuật toán HITS là sử dụng phương pháp phân tích giá trị suy biến GVHD: PGS TS Đỗ Văn Nhơn Học viên: Nguyễn Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 20 2.3.2 Phân tích giá trị suy biến (SVD) SVD dựa vào một... đến khi các chỉ số ai và hj hội tụ Nếu ta gọi A là ma trận kề biểu diễn liên kết giữa các trang Web với a ij=1 nếu trang i có liên kết đến trang j và bằng 0 nếu ngược lại Như vậy các bước I và O có thể được viết lại dưới dạng ma trận a=Ah và h=ATa GVHD: PGS TS Đỗ Văn Nhơn (1) (2) Học viên: Nguyễn Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang. .. vấn và tìm kiếm các 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 nhất Tập các web. ..Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 11 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... 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 GVHD: PGS TS Đỗ Văn Nhơn Học viên: Nguyễn Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 15 1.4.2 Nhược điểm Các vấn đề trên WWW không chỉ có... Nguyễn Phương Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 12 P(cj|q’) = ≈ P(cj).π.P(qi’|cj) Trong đó P(qi’|cj) được tính từ vector các từ khóa được xác định tại bước 1 Giá trị P(cj) được xác định hoặc là các giá trị bằng nhau cho mọi chủ đề (các chủ đề đồng khả năng) hoặc tính toán thống kê qua tham chiếu tới các trang Web thuộc mỗi chủ đề của tập . Anh Tiểu luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 1.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. luận: Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 17 trong đó vector a=[a 1 ,…,a n ] có các thành phần đại diện cho các chỉ số “authority” của các trang Web. Tìm hiểu các thuật toán xếp hạng trang web và cài đặt ứng dụng sử dụng Maple Trang 15 1.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

Ngày đăng: 10/04/2015, 08:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w