Jahrestagung der Deutschen Mathematiker-Vereinigung 2006 Bonn 17. - 23. September 2006 Eine...

Post on 05-Apr-2015

105 views 1 download

Transcript of Jahrestagung der Deutschen Mathematiker-Vereinigung 2006 Bonn 17. - 23. September 2006 Eine...

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