jahrestagung der deutschen mathematiker-vereinigung 2006 bonn 17. - 23. september 2006 eine...
TRANSCRIPT
Jahrestagung der Deutschen Mathematiker-Vereinigung 2006
Bonn17. - 23. September 2006
Eine Suchmaschine für die Mathematik
Wolfgang DalitzZuse-Institut Berlin (ZIB)
Inhalt
1. Motivation
2. Tests
3. Ergebnisse
4. Howtos
5. Ausblick
Allgemeingut
• Suchmaschinen sind fast das wichtigste Hilfsmittel beim Auffinden relevanter Informationen im Internet
Eine Suchmaschinefür die Mathematik?
"Es gibt doch Google!"
webhits.devom 18.09.2006
google.de hält einenMarktanteil 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
tagesspiegelvom 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 160Prozent verzeichnen. (Emissionspreis von 85 Dollar,jetzt: 216 Dollar, Vorhersage: 270 Dollar)
tagesspiegelvom 23.7.2005
c't 9/2005vom 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)
www.mathematik-21.de html (2.293) all (7.371)
harvest 1.8.3 712 784
nutch 710 780
swish-e (spider.pl) 710 800
wget 710 1.196
w3mir 709 1.194
XENU 708 1.176
da-spider.pl 709 1.164
Site I
Erklärungen
• es gibt – 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/2005vom 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)
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
Site II
Indexierung (Phase II)
• harvest/glimpse– schnell– muss den jeweiligen Erfordernissen (summarizern)
angepasst werden
• spider.pl/swish-e– schnell
• nutch/lucene– schnell– 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
• Indexierergeneriert einen absuchbaren Index (z.Z. Glimpse, Zebra, …)
Harvest: Broker/Gatherer Hierarchie
Broker
German Broker
Gatherer
WWWServer
FTPServer
Summarizer(Index)
European Broker
IMU Broker
Regional broker
Department Broker
EU
Kontj
i
Howto run Harvest
• Voraussetzungen– 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 – (Harvest 1.9.16)– nur geringe Weiterentwicklungen
• Tests mit grossen Sites unklar:– 1 TeraByte an Daten – 100 Mio. Datensätze
Nutch: Konzept
• Web Database– 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 linebin/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:
– 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 Aufmerksamk
eit