Vote 投票 0 0
Clean Room Implementation of Google Page Rank Algorithmクリーンルームの実装のGoogleページランクのアルゴリズム
Angsuman ChakrabortyのAngsuman Chakraborty
August 17th, 2006 2006年8月17日 Finally a clean-room implementation of Google’s Page Rank Algorithm in Java, reverse-engineered from their numerous commentary on Page Rank (or is it Pigeon Rank?).最後に、クリーンルームの実装、 Googleのページランクアルゴリズムはジャワ、リバースエンジニアリングから、数多くの解説ページのランク(またはそれピジョンランクですか? )です。
public static int getPageRank(url) { // start off with a random low PR int pageRank = rand.getInt(0, 3); if ( isHostedOn('google.com', url) ) { pageRank++; } else if ( isHostedOn('microsoft.com', url) ) { pageRank--; } // Support valid pages if (isValidPage(url) ) { pageRank += 1; } tag_value['b'] = 1; tag_value['h2'] = 2; tag_value['h1'] = 3; tag_value['strong'] = -1; // W3C sux!公共の静的なint getpagerank (のURL ) ( / /スタート]ボタンをオフに無作為に選ばれた低広報intのPageRank = rand.getint ( 0 、 3 ) ;場合( ishostedon ( ' google.com ' 、 URLを) ) (のPageRank + + ; )他の場合( ishostedon ( ' microsoft.com ' 、 URLを) ) ( PageRankが-; ) / /サポートページに有効な場合( i svalidpage(のU RL) ) ( P ageRankを+ = 1 ; ) t ag_value[の' b ' ] = 1 ; t ag_value[ '水素' ] = 2 ; tag_value [ '中間' ] = 3 ; tag_value [ '強い' ] = -1 ; / / W3Cのsuxを!pageRank = calculateTagsPR(tag_value, pagerank); // Sergey said good news sites have // lots of nested tables tablesOnPage = getTagCount(’table’); if (tablesOnPage >= 50) { pageRank += 2; } if (pageRank >= 5) { pageRank = 4; // helps selling AdWords } if (linksFrom(’mattcutts.com’, url) >= 4) { // I link to “clean” sites only // ?のPageRank = calculatetagspr ( tag_value 、 PageRankの) ; / /セルゲイによると良いニュースのサイトでも、 / /たくさんのネストされたテーブルtablesonpage = gettagcount ( '表' ) ;場合( tablesonpage > = 50 ) ( PageRankを+ = 2 ; )の場合(のPageRank > = 5 ) (のPageRank = 4 ; / /アドワーズ広告の販売)の場合に役立ちます( linksfrom ( ' mattcutts.com ' 、 URLを) > = 4 ) ( / /私のリンクを"クリーン"のサイトにのみ/ /ですか?Matt, Feb 2006 pagerank += 2; } pagerank += countBacklinks(url) / 10000; blacklist1 = getList(’c:\chinese-government-censored.txt’); blacklist2 = getList(’c:\larry-page-hatelist.txt’); if ( inArray(blacklist1, url) || inArray(blacklist2, url) ) { pageRank = 0; } d = dashesInUrl(url); pageRank = (d >= 3) ?マット、 2006年2月のPageRank + = 2 ; )のPageRank + = countbacklinks (のURL ) / 10000 ; blacklist1 = getlist ( ' c : \中国語-政府- censored.txt ' ) ; blacklist2 = getlist ( ' c : \ラリーページ- hatelist.txt ' ) ;場合( inarray ( blacklist1 、 URLを) | | inarray ( blacklist2 、 URLを) ) (のPageRank = 0 ; ) d = dashesinurl (のURL ) ;のPageRank = (営> = 3 )ですか?pageRank -1 : pageRank + 1; if (inString(url, “how to build a bomb”)) { // added on request.PageRankの-1 : PageRankの+ 1 ;場合( instring ( URLは、 "爆弾をビルドする方法について" ) ) ( / /追加も承ります。2004-12-01.2004-12-01します。recipient = “peter@homelandsecurity.gov”; subject = “You might wanna check this…”; sendMailTo(recipient, subject, url); // page might still be relevant pageRank++; } if (month() == “June” || month() == “October”) { // makes people talk about // PR updates, good publicity pagerank -= randomNumber(1,3); } if (checkIdenticalPageAndLinkColor) { // spammer!!受信者= " peter@homelandsecurity.gov " ;アジ研= "をお勧めしますを確認するには… " ; sendmailto (受信者、件名、 URLの) ; / /ページの可能性があります関連のPageRank + + ; )の場合(月日( ) == " 6月" | |月日( ) == " 10月" ) ( / /により人々トークアバウト/ /広報更新プログラム、良い宣伝のPageRank -= randomnumber ( 1,3 ) ; )の場合( checkidenticalpageandlinkcolor ) ( / / spammerの!Googleaxe it!!googleaxeよ! !pagerank = 0; } if (url == “http://www.nytimes.com”) { // just testing, pls remove tomorrow // ?のPageRank = 0 ; )の場合( URLを== " http://www.nytimes.com " ) ( / /単にテストは、明日のplsを削除/ /ですか?Frank, June 2003 pagerank = 10; } //Don’t show PR above 10 if(pagerank > 10) pagerank = 10; return pagerank; }フランクは、 2003年6月のPageRank = 10 ; ) / / 10の場合はありません上記の詳細広報( PageRankの> 10 )のPageRank = 10 ;リターンのPageRank ; )
Modified (to Java and added normalization etc.) from idea and original code by更新(国交正常化にはJavaおよび追加されました等)からのアイデアを元のコードを Jack Tangジャック唐 .です。
Filed under提出されて Googleグーグル , 、 Headline Newsニュースの見出し , 、 How Toどのように , 、 Humorユーモア , 、 Tech Note技術のノート , 、 Webウェブ , 、 Web Services Webサービス | |
| |
RSS 2.0 RSS 2.0を | |
Trackbackトラックバック this Article |この記事|
Email this Article電子メールこの記事
You may also like to readを読むようにすることも可能 |




