2012-03-27 5 views
2

Ich habe die Erklärung in http://en.wikipedia.org/wiki/PageRank gelesen und ich verstehe, dass der Seitenrang von eingehenden Links und ausgehenden Links berechnet wird.Wie Seitenränge in Echtzeit berechnet werden

Ich habe einen Crawler beim Crawlen einer Webseite und speichern in db Ich brauche einen Algorithmus Page-Rank. Ich habe eine DB mit folgenden Werten

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

kann u bitte erklären, muß ich einen anderen Wert benötigen die Page Rank zu berechnen und zu. bitte erklären, wie es berechnen java

+0

wie weit sind Sie bereit zu gehen? Wenn Sie von Googles aktuellem Seitenrangalgorithmus sprechen, ist es viel komplexer und das meiste ist völlig geheim. Zunächst berücksichtigt Google das Alter des Domain-Namens und wie oft der Content aktualisiert wird. Wie geht es dann mit Spammern? Google entfernt regelmäßig Spammer und ganze Shaddy-Farmen aus ihrem Index usw. Es ist ein sehr kompliziertes Thema und es ist schwer zu erklären * "wie man es berechnet" * weil es keine magische Formel gibt, die * den * Seitenrang berechnen lässt ... – TacticalCoder

Antwort

1

Sie haben ein paar Optionen. Wenn Sie alles selbst machen wollen, dann ist Duffymos Lösung perfekt, aber wenn Sie vorhandene Bibliotheken verwenden möchten, würde ich etwas Ähnliches wie Jung für Graphen vorschlagen.

Ich bin mir nicht sicher, ob Sie vertraut mit graphs, aber sie können verwendet werden, um die Struktur der Links zu speichern und PageRank ist oft in den meisten Bibliotheken enthalten. Je nachdem, wie Sie es tun möchten, ist eine gute Lösung im Speicher Jung, aber wenn Sie persistenten Datenbankspeicher benötigen als das Laden Ihrer Daten in Neo4J würde funktionieren (Sie müssten gremlin installieren, um den Pagerank zu tun).

Die oben genannten sind Java-Lösungen, aber wenn Sie es selbst tun wollen (und ich mag keine trockenen Forschungsarbeiten), dann würde ich sehr empfehlen, das Buch Programmierung kollektive Intelligenz. Sie gehen durch (Kapitel 4? Ich denke) Erstellen einer Suchmaschine von Grund auf, die pagerank und neuronale Netzwerke enthält, um Klicks zu überwachen. Das einzige Problem, basierend auf Ihren obigen Anforderungen, ist das Buch ist in Python geschrieben, aber Sie können die Logik leicht auf Java anwenden. Wenn Sie schon ein bisschen Python kennen, können Sie den Quellcode der Bücher kostenlos herunterladen und die Software ausprobieren (aber es gibt keine Erklärung für die Mathematik hinter dem Code im Quellcode).

Hoffe, dass hilft

+0

Ich bin von deiner Antwort in Konflikt geraten. Das Papier, das ich anführe, ist nicht "trocken"; laß es lesen und sehen. Aber ich mag "Programming Collective Intelligence" sehr gerne. Ich werde dich nach viel Seelenforschung abwählen. – duffymo

+0

@duffymo Es tut mir leid, ich meinte es nicht auf eine beleidigende Art und Weise (eigentlich bezog ich mich nicht auf deine spezielle Arbeit, es war eher allgemein). Ich persönlich finde nur Papier, das mehr als 5 Seiten hat und keine langweiligen Cartoons hat.Ich schätze, dass diese Aussage eher eine Reflexion über meine Intelligenz ist, weshalb ich mich eher auf kollektive Intelligenz stütze :-) – Lostsoul

+0

Tatsächlich habe ich gerade realisiert, dass ich dieses Papier schon einmal gelesen habe. Ich habe es nicht beendet (Mangel an Cartoons und/oder Klopfschlag Witze), aber Ihr Recht, es ist wirklich gut und hat mir geholfen, wenn ich versucht habe, selbst pagerank zu machen. Ich denke, es ist gut, über den Mut des PageRank zu lernen, selbst wenn man eine externe Bibliothek benutzt. Guter Beitrag +1 – Lostsoul

1

PageRank ist, an seinem Herzen, ein lineares Algebra Eigenwertproblem:

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

Wenn Sie nicht lineare Algebra oder Eigenwertprobleme kennen, oder nicht bereit, dieses Papier zu lesen, ist es unwahrscheinlich, dass Sie in der Lage sein werden, dieses Problem anzugehen. Wie Einstein sagte, "Mach das Problem so einfach wie möglich, aber nicht einfacher ..."

Der Titel des Papiers ist alt; Es bezieht sich auf Googles Marktkapitalisierung um 2004. Es ist bis zu $ ​​211B heute Morgen.

Die Technologie ist in dieser ganzen Zeit nicht stillgestanden. Google optimiert weiterhin den Algorithmus auf proprietäre Weise. Aber dieses Papier erklärt das Herzstück.

Verwandte Themen