谁能给我介绍一些包含网页排名算法的库,例如 PageRank、HITS?谢谢
2 回答
我猜您指的是原始 PageRank 论文中发布的规范 PageRank 算法。现在人们使用“PageRank”来指代实际的当前 Google 搜索算法。
如果确实如此,那么 PageRank 的实现并不难找到和使用。通过 Google 搜索,您可以找到大量的实现。例如,在 python中的一个。
对于 HITS 算法,维基百科中有伪代码。还有一个Perl 实现。
我还建议CLucene让你开始胡闹。
除非你为谷歌工作,否则没有多少好的方法可以找出他们的页面排名算法的细节......它会不时变化。维基百科概述了一些基础知识:
http://en.wikipedia.org/wiki/PageRank
其他人写冗长的文章:
http://www.smashingmagazine.com/2007/06/05/google-pagerank-what-do-we-really-know-about-it/
如果您对编写搜索引擎所涉及的各种技术感兴趣,这里有几个主题。例如,有“网络爬虫”以及如何编写访问网站并获取其内容的程序......以及确定何时再次访问这些网站以查看它们是否已更改:
http://en.wikipedia.org/wiki/Web_crawler
一旦您的机器上有一堆数据要分析和搜索,要研究的主题领域称为“信息检索”(或“IR”):
http://en.wikipedia.org/wiki/Information_retrieval
这是一门相当新的科学,但已经做了很多工作。维基百科有一个“免费搜索引擎软件”列表:
http://en.wikipedia.org/wiki/Category:Free_search_engine_software
我建议,如果您是新手,那么最好先弄清楚如何使用 Lucene 之类的东西在您拥有的网站上提供搜索框。然后深入研究它是如何工作的。如果这对您很重要,它已被移植到 C++: