Einige der Leser kennen es sicherlich: die Behauptung, dass man, folgt man in der Wikipedia immer dem ersten nicht-kursiven und nicht in Klammern stehendem Link, immer bei der Philosophie landen wird. Drüben bei den Wissenslogs wurde das Thema bereits vor kurzer Zeit besprochen. Dabei wurde die Beobachtung gemacht, dass – zumindest in der deutschen Wikipedia – die meisten Pfade, die zur Philosophie führen, vorher den Artikel “Wissenschaft” berühren. Der ursprüngliche Hinweis war vermutlich spöttisch gemeint und sollte wohl darauf hinweisen, dass Philosophie derart allgemein ist, dass sich mit ihr alles erklären lässt. Dabei ist die eigentliche Aussage viel positiver: am Ende ist alles Wissenschaft!


Gut, bis hierhin erzähle ich sicherlich nichts neues. Aber ich bin nicht umsonst Informatiker und dies hier ist ein Informatik-Blog; was liegt also näher, einmal mit Mitteln der Informatik zu untersuchen, ob diese Behauptung überhaupt korrekt ist (und dabei die Chance zu nutzen, einige Methoden der Informatik zu erklären)? Für die englische Wikipedia gibt es hierzu bereits ein nettes Programm, mit welchem die Beziehungen der Artikel untereinander visualisiert werden können.

i-9b37c423294741beffdf56248c062a45-Xefer.png

Programm zur Visualisierung der Artikelbeziehungen

Aber erstens beschränkt sich das auf die englische Wikipedia (mein Fehler: tut es nicht) und zweitens bleibt man hier auf relativ kleine Mengen von Datensätzen beschränkt (außerdem fehlt eine Auswertung). Also habe ich mich hingesetzt und ein eigenes Programm geschrieben, mit welchem ich die Behauptung überprüfen kann.

Zu Beginn noch einmal kurz die Problemstellung. Die Behauptung ist die folgende: klickt man in einem beliebigen Wikipedia-Artikel auf den ersten Link, der nicht in Klammern steht oder kursiv ist und wiederholt die Prozedur beim so aufgerufenen Artikel, so landet man irgendwann bei der Philosophie. Wie bereits erwähnt, führt der Weg in der deutschen Wikipedia dabei meist über “Wissenschaft” – und da dies ein Wissenschafts-Blog ist, ändere ich die Behauptung entsprechend ab und prüfe nicht auf “Philosophie”, sondern auf “Wissenschaft”.

Nach einigem Klicken von Hand fällt dabei auf, dass die Behauptung so schon einmal nicht ganz stimmen kann: ab und zu landet man in Kreisen, das heißt, man besucht immer wieder die gleichen Artikel. Es ergeben sich sich somit zwei mögliche Artikel-Strukturen (den Fall, dass ein Artikel keine weiteren Links hat, klammere ich einmal aus, da er selten auftritt). Das erste Beispiel zeigt einen regulären Pfad, das zweite einen Kreis mit der Größe 2 hat (da 2 Artikel daran beteiligt sind); beide Beispiele kommen so real in der Wikipedia vor:

i-9af70d08481663b00e27dc23e91dc08a-Ketten.png

Das Problem muss also ein wenig abgeändert werden; ich bearbeite daher die folgende Frage: wie groß ist das Verhältnis von Artikeln, die schließlich zur Wissenschaft führen, gegenüber den Artikeln, die einen Kreis bilden.

Zur Lösung eines solchen Problems wird man sich in der Regel einen sogenannten Webcrawler programmieren. Das ist ein Programm, welches Websites nach bestimmten Informationen durchsucht und dabei auch den Links innerhalb einer Site folgt. Die Vernetzung der Sites (in unserem Fall: Wikipedia-Artikel) untereinander bildet einen sogenannten Graphen. Ein Graph besteht aus verschiedenen Knoten (Sites, Artikel), die über Kanten (Links) miteinander verbunden sind. Die untenstehende Abbildung zeigt ein kleines Beispiel hierfür (die Kästchen sind Knoten, die Linien sind Kanten). Ein üblicher Webcrawler würde ausgehend von einem Knoten alle weiteren Knoten, die über Kanten miteinander verbunden sind, absuchen.

i-6e7118e046e80ed9e8cb9b12803f971f-Graph.png

Unser Wiki-Crawler muss nur, ausgehend von einem Knoten (also einer Site) oder Seed (von englisch “Samen”), dem ersten gültigen Link auf der Site folgen, und zwar so lange, bis der Wissenschafts-Artikel oder ein Kreis gefunden wird (dieses Verfahren entspricht im Übrigen einer sogenannten Tiefensuche, welche aber sicherlich noch ihren eigenen Artikel erhalten wird). Wurde auf diese Art ein Ziel erreicht, kann für den so bestimmten Pfad (also den Seed-Artikel und alle Artikel auf dem Weg zum Ziel) die Entfernung zur Wissenschaft oder eben die Information, dass sie nicht erreichbar ist, gespeichert werden. Danach geht es mit dem nächsten Seed weiter, bis alle Artikel der Wikipedia durchsucht wurden – oder der Speicher des Computers voll ist. Man muss dabei übrigens nur von solchen Seeds ausgehen, die noch nicht bereits auf einem Weg gefunden wurden. Für den oben aufgezeichneten Graphen könnte also folgender Pfad gefunden werden (die Kästchen enthalten die Entfernung zum Ziel):

1 / 2 / Auf einer Seite lesen

Kommentare (7)

  1. #1 the vegetarian diaries
    Juli 3, 2011

    sehr schöner artikel,
    da hat man doch einen tollen artikel auf den man bei der nächsten diskussion verweisen kann!

    lg

  2. #2 lost control
    Juli 3, 2011

    Durchaus interessanter Ansatz bzgl. Artikelhierarchie… da könnte man etliches mehr anstellen.

    ad Bandbreite: ich bilde mir ein irgendwann mal über irgendeine Wikipedia-Analyse drübergestolpert zu sein von der mir hängengeblieben ist, daß es – iirc – xml-dumps vom content gibt, dh. man könnte seine Analysen direkt drauflosjagen, ohne Bandbreitenbedenken.
    *scratches head* wenn ich jetzt nur noch wüßte, was das ca. war, dann könnte ich eventuell noch nen link finden…?

  3. #3 Marcus Frenkel
    Juli 3, 2011

    @lost control
    Es gibt auch einen kompletten Dump sämtlicher Wikipedia-Artikel. Für 3GB kann man den haben. 😉
    Ich werde mir das auch irgendwann ziehen und auf der Wiki noch ein paar Analysen laufen lassen…wenn denn jemand schöne Ideen hat, was man noch so rausziehen kann.
    Immer her damit!

  4. #4 bronte
    Juli 3, 2011

    “den Fall, dass ein Artikel keine weiteren Links hat, klammere ich einmal aus, da er selten auftritt.”
    Hast du auch die Zahl der Artikel bestimmt, von denen aus man in einer solchen Sackgasse landet? Denn Grundsätzlich sollte es ja (wegen der endlichen Anzahl der Artikel) nur die beiden Möglichkeiten “Kreis” und “Sackgasse” geben.
    Von den Kreisen ist nach deinen Ergebnissen Wissenschaft->Wissen->Wahrheit->Wirklichkeit->Philosophie->Wissenschaft derjenige, in dem man von den meisten Artikeln aus landet.
    Es wäre daher vielleicht auch interessant, welches die häufigste Sackgasse ist (oder welches der zweit-, dritt-, etc. häufigste Kreis ist).

  5. #5 Marcus Frenkel
    Juli 4, 2011

    Nein, wie gesagt: den Sackgassen-Fall habe ich einmal ausgeklammert. Der Grund ist hier (mal wieder) technischer Natur: es ist nämlich gar nicht so trivial, herauszubekommen, ob man in einer Sackgasse ist, zumindest dann, wenn man den kompletten Quelltext einer Site benutzt; mit jeder Site kommen nämlich unzählige Links, bei denen man erst einmal schauen muss, wo sie hingehören. Solche “Sonderlinks” sind z.B. die Literaturangaben, “Siehe auch”-Links, die Kategorien, Begriffserklärungen und so weiter.
    Das rauszufiltern ist am Ende möglich und auch nicht so sehr viel Arbeit; bei der aktuellen Version wollte ich sie mir nur einfach nicht machen. 😉

    Aber sicher, die Anzahl der Sackgassen wäre auch interessant und auch, wieviele verschiedene Kreise es gibt (die Zahlen oben geben ja nur an, wie viele Artikel in einen Kreis führen, aber nicht, in welchen – da können mehrfach die gleichen vorkommen).

    Ich habe es mir auf jeden Fall einmal notiert.

  6. #6 Stephan B.
    Juli 7, 2011

    Ich habe mal den Link zu Xefer ausprobiert. Da kann man doch verschiedene Sprachen, und damit verschiedene Wikipedias auswählen. Und Deutsch steht auch zur Auswahl.

  7. #7 Marcus Frenkel
    Juli 7, 2011

    Danke, das Feld hatte ich übersehen. Habe es korrigiert.