Как рейтинги страниц рассчитываются в реальном времени - PullRequest
2 голосов
/ 27 марта 2012

Я прочитал объяснение в http://en.wikipedia.org/wiki/PageRank и понимаю, что рейтинг страницы рассчитывается по входящим и исходящим ссылкам.

У меня есть сканер, который сканирует веб-страницу и хранит в БД. Мне нужен алгоритм ранжирования страниц. У меня есть БД со следующими значениями

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

Можете ли вы объяснить, нужно ли мне какое-либо другое значение для вычисления рейтинга страницы и. пожалуйста, объясните, как вычислить его с помощью Java

Ответы [ 2 ]

1 голос
/ 27 марта 2012

У вас есть несколько вариантов.Если вы хотите сделать все самостоятельно, то решение duffymo идеально, но если вы хотите использовать существующие библиотеки, я бы предложил что-то похожее на Jung для графиков.

Я не уверен, что вашзнакомы с графиками , но их можно использовать для хранения структуры ссылок, и PageRank часто включается в большинство библиотек.В зависимости от того, как вы хотите это сделать, хорошим решением для памяти будет Jung , но если вам нужно постоянное хранилище базы данных, тогда загрузка ваших данных в Neo4J будет работать (вам придется установить gremlin , чтобы сделать PageRank).

Выше приведены решения Java, но если вы хотите сделать это самостоятельно (и, как я, не люблю сухие исследовательские работы), то я очень рекомендую книгупрограммирование коллективного интеллекта.Они проходят (глава 4 - я думаю), создавая поисковую систему с нуля, которая включает PageRank и нейронные сети для отслеживания кликов.Единственная проблема, основанная на ваших требованиях выше, заключается в том, что книга написана на python, но вы можете легко применить логику к java.Если вы уже немного знаете Python, вы можете даже бесплатно загрузить исходный код книг и проверить программное обеспечение (но нет никаких объяснений по математике, стоящей за кодом в исходном коде).

Надеюсь, чтопомогает

1 голос
/ 27 марта 2012

PageRank по своей сути является задачей на собственные значения линейной алгебры:

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

Если вы не знакомы с проблемами линейной алгебры или собственных значений или не хотите читать эту статью, маловероятно, что вы сможете решить эту проблему. Как сказал Эйнштейн: «Сделай задачу как можно проще, но не проще…»

Название статьи старое; Это относится к рыночной капитализации Google примерно в 2004 году. Сегодня утром она достигает 211 млрд долларов.

Технология не стояла на месте все это время. Google продолжает дорабатывать алгоритм собственными способами. Но эта статья объясняет суть этого.

...