2

http://en.wikipedia.org/wiki/PageRankの説明を読みましたが、ページ ランクは着信リンクと発信リンクによって計算されることを理解しています。

Webページをクロールし、データベースに保存するときにクローラーを使用しています。ページランクアルゴリズムが必要です。次の値を持つデータベースがあります

Title 
url
content_html
outgoing_links(external domain)
internal_links(the links with  same domain of the url)

ページランクを計算するために他の値が必要かどうか説明してください. Javaを使用して計算する方法を説明してください

4

2 に答える 2

1

PageRank は、本質的に線形代数固有値問題です。

http://www.rose-hulman.edu/~bryan/googleFinalVersionFixed.pdf

線形代数や固有値の問題を知らない場合、またはこの論文を読みたくない場合は、この問題に取り組むことができないでしょう。アインシュタインが言ったように、「問題をできるだけ単純にしますが、それ以上単純にしないでください...」

論文のタイトルは古いです。これは 2004 年頃の Google の時価総額を指しています。

テクノロジーはその間ずっと静止していませんでした。Google は独自の方法でアルゴリズムを微調整し続けています。しかし、この論文ではその核心を説明しています。

于 2012-03-27T14:09:17.800 に答える
0

いくつかのオプションがあります。すべてを自分でやりたい場合は、duffymo のソリューションが最適ですが、既存のライブラリを使用する場合は、Jungに似たグラフのソリューションをお勧めします。

グラフに精通しているかどうかはわかりませんが、グラフはリンクの構造を保存するために使用でき、ページランクはほとんどのライブラリに含まれていることがよくあります。方法によっては、メモリ内の優れたソリューションはJungですが、Neo4J にデータをロードするよりも永続的なデータベース ストレージが必要な場合は機能します ( pagerankを実行するには、 gremlinをインストールする必要があります)。

上記は Java ソリューションですが、自分でやりたい場合 (そして私のように無味乾燥な研究論文が好きではない場合) は、プログラミング集団知能の本を強くお勧めします。彼らは(第4章?と思う)クリックを監視するためのページランクとニューラルネットワークを含む検索エンジンをゼロから作成します。上記の要件に基づく唯一の問題は、本が python で書かれていることですが、ロジックを Java に簡単に適用できます。すでに Python を少し知っている場合は、書籍のソース コードを無料でダウンロードして、ソフトウェアをチェックすることもできます (ただし、ソース コード内のコードの背後にある数学についての説明はありません)。

それが役立つことを願っています

于 2012-03-27T14:28:02.413 に答える