Eine Suchmaschine für die Mathematik Wolfgang Dalitz Zuse-Institut Berlin (ZIB) Jahrestagung der Deutschen Mathematiker-Vereinigung 2006 Bonn 17. - 23. September 2006
Inhalt Motivation Tests Ergebnisse Howtos Ausblick
Allgemeingut Suchmaschinen sind fast das wichtigste Hilfsmittel beim Auffinden relevanter Informationen im Internet
Eine Suchmaschine für die Mathematik? "Es gibt doch Google!"
webhits.de vom 18.09.2006 google.de hält einen Marktanteil von über 90% AOL, T-Online und freenet.de reichen die Suchergebnisse von google.de durch
Aber … "gute" Suchmaschinen zu betreiben ist ein Milliardengeschäft und somit von kommerziellen Interessen bestimmt "gute" Suchmaschinen sind Manipulations-versuchen ausgesetzt
tagesspiegel vom 23.4.2005 "Wir waren in der Lage, voll von dem Wachstum in der Online-Werbung zu profitieren." Eric Schmidt Anleger konnten … einen Kursgewinn von fast 160 Prozent verzeichnen. (Emissionspreis von 85 Dollar, jetzt: 216 Dollar, Vorhersage: 270 Dollar)
tagesspiegel vom 23.7.2005
Manipulationsversuche, um besseres Ranking zu bekommen c't 9/2005 vom 18.4.2005 Manipulationsversuche, um besseres Ranking zu bekommen "… Altavista wurde durch Keyword bepackten Spam derart vollgestopft, dass er am Ende 1997 kaum noch zu ge- brauchen war – ein Problem, von dem sich AltaVista nie mehr so richtig erholen konnte, denn 1998 trat ein an- deres Unternehmen auf dem Plan, das schnell zur Num- mer Eins avanchieren sollte: Google." "Link-Farmen" als ein Beispiel beeinflussen das Google- Ranking
Grundsätze Die Wissenschaft darf sich nicht von (notwendigen) Diensten abhängig machen, die (vorwiegend) von kommerziellen Interessen bestimmt sind und schon gar nicht, wenn deren Ergebnisse nicht nachprüfbar sind
Deswegen "Eine Suchmaschine für die Mathematik!"
Selbst ist die Wissenschaft Aufgabenstellung: Suchmaschine zu betreiben mit vertretbarem (technischen und personellen) Aufwand mit beherrschbarer Technik "besser als Google" für die Domain Mathematik Randbedingungen open domain community-driven fachspezifisch (topic spezifisch) zum lokalen Betrieb langfristig: zum community-basierten Betrieb
Prinzipielle Arbeitsweise von Suchmaschinen Phase I: Hole alle relevanten Objekte: Spider, Crawler, Gatherer Phase II: Verarbeite die relevante Information zu einem Index Summarizer Indexer Phase III: Liefere ("gute") Ergebnisse Ranking
Kandidaten und Strategien Komplettsysteme (Phase I, II, III) harvest (gatherer, broker, glimpse) swish-e (spider.pl und indexierer) nutch (lucene) Teilsysteme Phase I: wget und w3mir Phase II: lucene Phase III: ??
Vorgehensweise lokal angepasste Kopien zweier unterschiedlicher Sites Site I www.mathematik-21.de 7371 Dateien, davon 2293 HTML 1160 Images 140 Text 81 PDF 19 PS Rest: u.a. tmp, harvest Site II www.zib.de 70126 Dateien, davon 17981 HTML 17147 Images 2024 PDF 991 PS 140 Text Rest: u.a. test Faktor 10
Vollständigkeit (Phase I) Site I www.mathematik-21.de html (2.293) all (7.371) harvest 1.8.3 712 784 nutch 710 780 swish-e (spider.pl) 800 wget 1.196 w3mir 709 1.194 XENU 708 1.176 da-spider.pl 1.164
Erklärungen es gibt es wird nicht-konformes HTML benutzt Innenansichten (Filesystem) symbolische Links Aussenansichten (Webserver) es wird nicht-konformes HTML benutzt infolgedessen ist die HTML-Analyse und die resultierende Linkliste zum Weiterverfolgen unterschiedlich
c't 9/2005 vom 18.4.2005 Studie: nur 3,9 % der deutschen Websites standardkonform "… Anders herum: 96,1 Prozent der überprüften Web-Präsenzen enthalten ungültigen Code"
Vollständigkeit (Phase I) Site II www.zib.de html (17.981) all (70.126) harvest 1.8.3 598 26.570 nutch 7.274 39.271 swish-e (spider.pl) 4.869 wget 8.274 54.826 w3mir 3.490 3.684 XENU 429 849 da-spider.pl 16.359 40.018
Indexierung (Phase II) harvest/glimpse schnell muss den jeweiligen Erfordernissen (summarizern) angepasst werden spider.pl/swish-e nutch/lucene inkrementeller Aufbau des Indexes
Ranking (Phase III) ? das, was offensichtlich eine (gefühlt) gute Suchmaschine ausmacht! Gibt es eigentlich "objektive Gütekriterien" ? Hoher Forschungs- oder wenigstens Klärungsbedarf automatische Klassifikationsverfahren Clusterverfahren
Howtos für Harvest & Nutch Requirements Installation Running Limitations
Harvest: Konzept Gatherer: Sammelt übers Internet erhaltene Dokumente und bildet daraus Attribute/Value-Dateien (SOIF) Broker: Holt die SOIF-Dateien verschiedener Gatherer und/oder Broker ab Indexierer generiert einen absuchbaren Index (z.Z. Glimpse, Zebra, …)
Harvest: Broker/Gatherer Hierarchie IMU Broker Kont European Broker j German Broker EU i Regional broker Department Broker Summarizer (Index) WWW Server Broker Gatherer FTP Server
Howto run Harvest Voraussetzungen Starte Gatherer und Broker Unix (kein Windows XY) perl, C Webserver muss angepasst werden Starte Gatherer und Broker laufender Betrieb die gatherer müssen periodisch angestossen werden (crontab) Monitoring der 'daemons' logfiles
Harvest: Limitations letzte Version 2005 nur geringe Weiterentwicklungen Tests mit grossen Sites unklar: 1 TeraByte an Daten 100 Mio. Datensätze
Nutch: Konzept Web Database Lucene als Indexierer Page Database (used for fetch scheduling) Link Database represents full link graph stores anchor text associated with each link used for: link analysis anchor text indexing Lucene als Indexierer "A new star is born …"
Nutch: Architektur
Howto run Nutch/Lucene Voraussetzungen keine speziellen Rechte (su, filesystem) Windows oder Linux (SuSE 10.0) Java Runtime Umgebung (J2SE 5.x bzw. java_1_5_sun) Tomcat (Webserver) (Version 5.5.17) ggf. Port 8080 nach aussen öffnen (Firewall)
Run Nutch config-files specify root URLs specify URL filters optionally, add a config file specifying: delay between fetches num fetcher threads levels to crawl Starte Crawler: command line bin/nutch crawl urls -dir crawl -depth 3 -topN 20 Starte tomcat ~/local/tomcat/bin/catalina.sh start Searchengine unter http://localhost:8080/
Nutch: Remarks Für grosse Systeme ausgelegt: commandline orientiert: Verteiltes System google fs / MapReduce commandline orientiert: admin db –create inject generate fetch updatedb … index dedup 'merge' mehrerer Crawler möglich 'recrawl' muss explizit angestossen werden
Fazit Suchmaschinen zu betreiben ist aufwendig, aber notwendig erfordert Kontrolle der einzelnen Phasen Suchmaschinen für eine Community zu betreiben ist ein Projekt bedarf eines koordinierten Vorgehens bedarf grösserer Resourcen sollte auf mehrere Schultern verteilt werden
Ausblick Suchmaschinentechnologien sind technisch spannend sollten näher in den Fokus der Förderpolitik rücken, insbesondere die Community-basierten Ansätze verdienen verstärkte Aufmerksamkeit haben hohes Innovationspotential sind noch lange nicht ausgereizt
Danke für die Aufmerksamkeit