Home‎ > ‎

Übung 1

Aufgabe 1: Wie groß ist das Internet?

a)

Um die "Größe des Internet" tatsächlich bestimmen zu können muss man sich zunächst über die Begrifflichkeiten klar werden. Hier sind das vor allem die Begriffe Internet und Größe.

Allgemein ist das Internet ein Zusammenschluss von verschiedenen autonomen Netzwerken bzw. Systemen (AS), die über  Routingmechanismen miteinander kommunizieren können. Da sich als Basisinfrastruktur des Internet die TCP/IP Protokollsuite besonders verbreitet hat und entsprechend den allgemeinen Definitionen davon ausgehen kann, dass alle am Internet beteiligten Rechnerknoten (Hosts) über ein Protokoll der TCP/IP Suite erreichbar sind kann man ruhigen Gewissens das Internet auf diese Rechnerknoten beschränken. Alle übrigen Rechner sind entweder mit Routing-, Kappelungs-, oder anderen Umsetzungsmechanismen oper TCP/IP zu erreichen oder werden allgemein nicht als dem Internet zugehörig angesehen.
Nun könnte man als Größe des Internet die beschriebenen autonomen Netze als gemeinsame Einheit heranziehen. Jedes dieser Netze bekommt im Rahmen der Selbstverwaltung des Internet eine eindeutige Nummer von der Internet Assigned Numbers Authority (IANA) oder einer ihrer regionalen Unterorganisationen zugwiesen. Da es sich dabei historisch um eine 16 Bit Ganzzahl handelt (zur Zeit findet gerade die Umstellung auf 32 Bit-Nummer statt), kann es maximal 65536 dieser Netzwerke geben. Davon können aber nur maximal 64511 an öffentliche Netzwerke zugeteilt werden. Die restlichen Nummern sind privaten Netzen vorbehalten. Jede Kommunikation zwischen zwei Hosts im Internet bewegt sich entweder inerhalb des selben AS statt oder über die Hierarchie der Netzwerke, die über AS Nummern bestimmbar sind.

Laut http://www.iana.org/assignments/as-numbers/ sind z.Zt. (03. November 2008) 49151 Nummern vergeben. Was uns zu der Schlussfolgerung bringt, dass das Internet aus ebenso vielen Netzwerken besteht. Die Daten der IANA sind sehr zuverlässig und können mit einer hohen Aktualität abgerufen werden. Leider ist die Aussagekraft dieser Zahl sehr unbefriedigend, da sie nichts über die Größe dieser Netzwerke aussagt. Sie können sehr groß sein, aber auch nur aus einigen wenigen Hosts bestehen. Außerdem werden private Netzwerke ausgeblendet. Man könnte aber davon abstrahieren und sie dem öffentlichen AS zuschlagen, über das sie erreichbar sind. Hier ist aber wieder unkalr, wie mit Netzwerken umzugehen ist, die über mehrere andere AS angebunden sind (was der weitaus häufigste Fall sein dürfte).

Aufgrund der wenig klaren Größe der Zahl der Autonomen Systeme wird meist versucht, die Größe des Internet mit der Zahl der daran zu einem gegebenen Zeitpunkt angeschlossenen Hosts zu messen. Diese Messung und Aussagen darüber sind aber nur auf den ersten Blick einfach durchzuführen, weil hier keine klar umrissene Definition existiert, wann ein Rechner bzw. ein Stück Hardware Teilnehmer des Internet ist
  • Ist nur ein Rechner, der selbst Dienste anbietet ein Teilnehmer? Welcher Art müssen diese Dienste sein?
  • Wie sind virtualisierte Rechner zu zählen: jeder für sich oder alle virtuellen Instanzen eines Rechners als ein Host?
  • Werden Rechner, die mehrere Dienste anbieten (z.B. ein Webserver, der gleichzeitig Mailserver ist) mehrfach gezählt? Wie ist die genau Abgrenzung eines Teilnehmers?
  • Was ist mit Rechnern mit mehreren Netzwerkschnittstellen? Werden sie mehrfach gezählt?
  • Wie werden Rechnercluster gezählt, die sich hinter einem Loadbalancer "verstecken" und gemeinsam einen Dienst zur Verfügung stellen? Wie zählt der Loadbalancer selbst? Was ist mit Standby-Servern, die nur einspringen, wenn ein Server ausfällt?
  • Was ist mit privaten Netzwerken (Firmenintranets, Home-Networks, Universitätsnetzwerke, ...) die zwar "elektrisch" mit dem Internet verbunden sind, aber nicht direkt mit ihm kommunizieren?
  • Wie sieht es mit Netzwerken aus, die selbst elektrisch vom Internet getrennt sind, aber trotzdem mit ihm kommunizieren (z.B. via Lockkeeper)?
  • Ab welcher operierenden OSI-Schicht gilt ein Stück Hardware als Host im Sinne eines Internetteilnehmers? Ist es schon das Netzwerkkabel? Die Switches, Bridges, ...? Erst die Router? Oder gar erst die Webserver, Mailserver und Clients mit ihren Browsern?
Je nachdem, wie diese und ähnliche Fragen beantwortet werden, wird die Antwort auf die Frage nach der Größe und deren Messverfahren sehr unterschiedlich ausfallen. Meist wird der Ansatz gewählt, dass alles das zur Größe des Internet beiträgt, was eine IP-Adresse hat und aktiv kommuniziert.

Man könnte wieder versuchen, auf Registrierungsdienste zurückzugreifen, die u.a. auch die Zuweisung von IP-Adressen registrieren und die Zahl der zugewiesenen IP-Adressen ermitteln. Dies ist aber nur ein sehr ungenaue Angabe, da viele einem Netzwerk zugewiesene IP-Adressen zur Zeit nicht verwendet sind. Außerdem werden hier alle Rechner in privaten Netzwerke mit nichtöffentlichen IP-Bereichen (z.B. aus dem Bereich 192.168.0.0/16) ausgeblendet. Dies könnte man umgehen, indem man versucht die von einem Punkt im Internet aus erreichbaren Rechner zu zählen. Hier müsste man sich entscheiden, auf welcher Protokollebene der OSI-Schicht man zählt und sich für ein entsprechendes Protokoll entscheiden. Da das Internet aber ständiger Veränderung unterworfen ist (verändertes Routing, neue Rechner tauchen auf, alte verschwinden...) müsste man zur exakten Zählung das Internet für die Dauer der Messung "einfrieren", was praktisch aber nicht möglich ist, sodass man hier mit einer gweissen Ungenauigkeit leben muss. Außerdem ist die Messmethode nicht klar. Man könnte es mit ICMP-Pings versuchen. Leider antworten nicht alle Rechner auf diese Anfragen. Außerdem werden auch hier Rechner, die sich hinter Proxies, Routern oder Firewalls sowie in Netzwerken mit privaten IPs befinden ausgeblendet, da die Pings meist schon an diesen Schnittstellen abgefangen werden.

Eine mögliche Lösung für die Praxis wäre eine statistische Analyse darüber, wie viele tatsächliche Hosts (abhängig von der Beantwortung der obrigen Fragen) im Durchschnitt für eine antwortende IP-Adresse angenommen werden können. In den IP-Bereichen, die Hoster z.B. für ihre DSL-Kunden reservieren könnte man die durchschnittliche Zahl der sich dahinter befindlichen aktiven Rechner in einem Haushalt bestimmen. Dies ist aber wohl nur mit sehr ungenauen Schätzungen möglich und in der Praxis aufgrund der sehr unterschiedlichen bzw. unklaren Nutzungsszenarien in einzelnen Netzbereichen wohl unmöglich.

Vor ähnliche Problemen steht auch der Versuch, die Zählung auf die Provider auszulagern, die ja zu idealerweise zu jedem Zeitpunkt wissen, wieviele Kunden sie aktuell bedienen. Könnte man alle Provider dazu bewegen, diese Zahlen zu ermitteln, zusammenzutragen und auf einen genauen Zeitpunkt zu normalisieren, dann wäre es möglich, ein recht genaues Nutzungsbild zu ermitteln. Auch dies wird aufgrund der stark hierarchischen und verteilten Natur des Internet in der Prxis wohl kaum erschöpfend möglich sein.

Eine andere Variante wäre, sich auf einzelne "high-level" Dienste zu beschränken. Man könnte beispielsweise versuchen, die Zahl der Webserver im Internet zu ermitteln und damit die Größe des World-Wide-Web zu bestimmen versuchen. Systembedingt wird damit aber nur ein Teil des Internet "abgegrast". Client-Rechner (z.B. die "normalen" DSL-User) oder Mailserver beispielsweise fallen aus dem Messschema.
Da eine Konvention des World-Wide-Web besagt, dass jede Website einem DNS-Eintrag zugeweisen ist könnte man alle Einträge im DNS durchsuchen und schauen, ob bei den zugehörigen Einträgen laufenden Rechnern ein Websererv erreichbar ist. Zur Vereinfachung könnte man sich auf Server beschränken, die auf Port 80 bzw. 443 lauschen (auch wenn damit ggf. ein Teil des (vor allem nichtöffentlichen) WWW ausgeschlossen wird). Hier stellt sich aber wieder das priblem der Rechnerfarmen. Die Webseite von Google ist beispielsweise über wenige IPs erreichbar, dahinter verbergen sich aber tausende von Servern, die die Webanfragen entgegennehmen und verarbeiten. Mit der oben beschriebenen Methode ist es nicht möglich, diese Rechner zu entdecken. Außerdem leidet sie - wie alle Methoden - unter dem Problem der Messdauer: wärend der Messung verändert sich das WWW, die Messung wird inkonsistent.

Unabhängig von den technischen Aspekten kann man versuchen, auf die sozialen Aspekte des Internet abzuzielen und die Zahl der Menschen ermitteln, die das Internet nutzen. Dies könnte mittels der eher traditionellen Verfahreb wie Umfragen oder Volkszählungen geschehen. Bei einer hinreichend großen Zahl von Befragten und einer repräsentativen Auswahl aus der Weltbevölkerung könnte man ein recht genaues Bid über die Nutzung des Internet in der Weltbevölkerung  gewinnen. Zusätzlich könnte man daraus Rückschlüsse auf die Zahl der tatsächlich verwendeten Netzwerkgeräte ziehen und eine wenn auch stark stistisch geprägte Aufstellung der am Internet beteiligten Geräte erhalten.

Insgesamt ist zu sagen, dass aufgrund der dynamischen und relativ chaotischen Struktur des Internet eine genaue Bestimmung seiner Größe wohl nicht möglich ist. Der Autor dieses Textes würde das aber eher als Feature, denn als Bug ansehen :)

b)

Die technische Lösung der in 1a angesprochenen Möglichkeiten gestaltet sich in aller Regel sehr aufwändig. Das Anpingen aller registrierten IPs oder das Abgrasen von Webseiten erzeugt sehr große Datenmenge. Eine Parallelisierung ist unumgänglich, aufgrund der in 1a vorgschlagenen Tests aber recht gut möglich. Das Problem der sich während der Dauer des Tests ändernden Netzstruktur ist dabei aber ungelöst. Auch fallen Teile des Internet aus dem Schema (private Netzwerke, nicht antwortende Server bzw. Rechner ohne Webserver oder Webserver, die auf nicht-standard-Ports horchen)
Man könnte hier versuchen, den Weg eines klassischen Webcrawlers zu gehen und eine Struktur des gesamten WWW aufzubauen. Dies lässt sich aber viel schlechter Paralallisieren (es ist ein gemeinsames Wissen über bereits besuchte Webseiten nötig) und erzeugt unverhältnismäßig viel mehr Datenverkehr.

Sofern ein Kooperationswillen bei den Providern vorhanden ist könnte man Messsonden an ihrer zentralen Infrastruktur anbringen um so Statistiken über die über diese Knoten laufenden Daten und damit auch die Kommunikationsteilnehmer zu gewinnen. Im Zuge der in vielen Industriestaten (Europa, USA, Autralien, ...) fortschreitenden staatlichen Überwachung des Internets (bes. des WWW) mittels eben dieser Techniken und damit einhergehendem Zwang zur Kooperation der Provider könnten sich hier quasi als Abfallprodukt die Möglichkeiten zur statistischen Aufbereitung zu Forschungszwecken ergeben.

Die angesproichene "soziale" Lösung des Problems durch Befragungen ließe sich durch ein großangelegtes internationales Forschungsprojekt lösen. Bei der statistisch korrekten und signifikaten Auswahl der befragten Personen lässt sie der Prozentsatz der am Internet teilnehmenden Weltbevölkerung recht gut abschätzen. Über zusätzliche Fragen zur verwendeten Netzinfrastruktur und Einbeziehung von möglichst vielen Providern und Carrieren könnte sich daraus auch eine Abschätzung der tatsächlich vorhandenen und zu einem Zeitpunkt genutzten Netzinfrastruktur erstellen. Die Umsetzbarkeit dieses Verfahrens ist wohl vor allem durch die Kapazitäten der Umfrageinstitute und des Mitwirkungswillens der Provider begrenzt. Es erscheint dem Autor aber zur Zeit die einzige Möglichkeit, halbwegs präzise Daten über die Internetnutzung zu gewinnen. Bei korrekter Fragestellung sind auch relativ gute Angaben über die Größe des Internet möglich. Dies ist aber wie gesagt vor allem von den Möglichkeiten der statistischen Auswertung der gewonnenen Daten abhängig.

c)

Ein Webcrawler hat eine Vielzahl von Probleme zu lösen, deren Hauptursache meist in der riesigen Zahl von Webseiten und der damit verbundenen Datenmenge liegt.

Um das "ganze" Internet zu erfassen, muss man sich das ganze Internet quasi herunterladen, analysieren und verschlagworten bzw. strukturiert ablegen. Die Beschränkungen bei diesem Unterfangen sind vor allem die Bandbreite zum Internet, lokale Speicherkapazitäten, Rechenkapazitäten und damit einhergehend die Fähigkeit zur massiven Parallelisierung, da ein Rechner allein mit der Aufgabe hoffnungslos überfordert wäre. In all diesen Punkten hat sich bei Google eine sehr hohe Leistungsfähigkeit herausgebildet.

Das grundsätzliche Vorgehen eines Webcrawlers ist das folgende:
  1. Lade eine Webseite von einer bekannten URL herunter.
  2. Analysiere und verschlagworte sie. Lege sie ggf. im Speicher / der Datenbank ab.
  3. Für alle Links und Verweise in der aktuellen Webseite tue:
    • Goto 1.
  4. Return.
Wie die Umsetzung in Aufgabe 1d zeigt, lässt sich dieses Vorgehen sehr gut parallelisieren, sodass man Beschränkungen an Rechen- und Speicherkapazität relativ einfach mit zusätzlicher Hardware erschlagen kann, wie es Google eindrucksvoll vormacht. Der begrenzende Faktor ist hier vor allem der benötigte Abstimmungsaufwand zwischen den einzelnen Arbeitsthreads / -prozessen / -maschinen / -clustern.

Die Beschränkung der verfügbaren Bandbreite lässt sich eigentlich auch nur mit Parallelisierung lösen, indem die Crawler möglichst nah (netztopoligisch gesehen) an die zenteralen Knotenpunkte des Internets herangebracht werden und von dort abzweigen. Damit kann eine weltweite Präsenz in der Nähe der meisten Webserver und damit ein entsprechend hoher Datendurchsatz erreicht werden.

Bei einer starken Parallelisierung ist das Hauptproblem, dass nur schwer verhindert werden kann, dass Webseiten doppelt besucht werden. Idealerweise existiert also eine Systemweite Liste mit bereits besuchten URLs. Befindet sich eine URL in dieser Liste, dann braucht sie bei zukünftigen Besuchen nicht mehr berücksichtigt zu werden. Ggf. kann man hier auch mit Zeitstempeln arbeiten um Webseiten nach einer gewissen Zeit erneut zu besuchen und auf Änderungen zu untersuchen. Bei einer solch engen Bindung des Systems an eine URL-Liste entsteht hier aber sehr schnell ein Performance-Engpass. Man kann aber ggf. zu einer Variante übergehen, bei der die URL-Liste nicht sofort aktualisiert wird. Dabei nimmt man dann in Kauf, dass einzelne URLS doch häufiger durchsucht werden. Über verschiedene Optimierungen sowie Cachingstufen und deren Lokalitäten kann hier aber sehr viel optimiert werden

Ein weiteres Problem liegt in der häufig laxen Verwendungsweise von URLs. Diese sind selten sorgfältig geplant und aufgebaut. Einige Seiten sind unter mehreren URLs ansprechbar und haben eine nicht standardkonforme Struktur. Auch sind heute viele Seiten im Web mittels Scripten oder anderen Techniken dynamisch für jede Anfrage neu erzeugt. Es ergibt sich eine riesige Menge von potentiellen Zusammensetzungen für die imemr gleichen Stücke von Content, was aber für eine Suchmaschine, die sich vor allem auf URLs verlässt nur sehr schwer herauszubekommen ist. Das führt dazu, dass sich ein Crwaler leicht in einem Netz von automatisch generierten Links verfangen kann und den immer gleichen Content indiziert (Stichwort: Google-Spam) .

Dies könnte sich durch statistische Auswertungen von Seiteninhalt und Aufbau lösen lassen, was dann zusammen mit den URLs in der oben beschriebenen globalen Liste gespeichert werden müsste (im Crawler in Aufgabe 1d nicht umgesetzt, da zu aufwändig). Damit würde sich auch teilweise das Problem der Aufbereitung der Suchergebnisse lösen lassen (das ja eigentlich nicht teil der ursprünglichen Aufgabe eines Webcrawlers ist)

Ein bisher nur sehr unvollständig gelöstes Problem ist die zunehmende Verwendung von Javascript, Flash und anderen Techniken zur dynamischen Erzeugung von Seiteninhalten. Da hier in der Regel auch eine ganze Reihe von Links auf andere (ggf. dynamische) Inhalte erzeugt werden, wäre es vorteilhaft, diese Technologien durch den Webcrawler zu unterstützen und auch den dynamisch erzeugten Inhalt auszuwerten. Dies würde aber sehr viel Last auf dem Crawler erzeugen und ggf. auch Sicherheitslücken reißen. Häufig stellen sich die Suchmaschinenbetreiber auf den Standpunkt, dass es Aufgabe der Webentwickler sei, interoperable Webseiten zu erzeugen, die auch ohne Javascript und Flash funktionieren und ignorieren daher diese neuen Möglichkeiten.

d)

Siehe Anhang (WebCrawler.jar, Source Code), Nutzung: (`C-c` zum beenden.)
> java -jar WebCrawler.jar http://www.hpi-web.de
[0/152] http://www.hpi-web.de
[1/178] http://www.hpi-web.de/studium/hpi_fuer_schueler.html
[2/183] http://www.hpi-web.de/studium/tele_teaching.html
[3/190] http://www.hpi-web.de/studium/master.html
[4/194] http://www.hpi-web.de/hpi/hpi-d-school.html
[5/197] http://www.hpi-web.de/studium/studienbedingungen.html
[6/202] http://www.hpi-web.de/studium/soft_skills_kolloquium.html
[7/211] http://www.hpi-web.de/forschung/fachgebiete/computergrafik.html
[8/223] http://www.hpi-web.de/forschung/fachgebiete/betriebssysteme.html
[9/236] http://www.hpi-web.de/forschung/fachgebiete/software-architekturen.html
[10/245] http://www.hpi-web.de/forschung/fachgebiete/systemanalyse_u_modellierung.html
[x/y] z:
x: Durchsuchte Seiten
y: Gefunde Seiten
z: Letzte durchsuchte Seite

Folgende Rechnungen unter der (falschen) Annahme, dass der Crawler jede Seite nur einmal besucht, daher eine untere Grenze.

Durchschnittliche Bearbeitungszeit einer Seite: 1.05s (davon ~98% HTTP Verbindung).
--> 1.05 Sekunden * (10^12) ~ 33273 Jahre
Stark parallelisierbar, aber (33273 Jahre) / (2^10) = 32.49 Jahre.
TreeSet garantiert O(log(n)) Zeiten fuer add, remove, contains Operationen.

(10^12) * 30 * (2 bytes) = 54.5696821 terabytes
D.h. ~55TB wuerden allein fuer die Liste an URLs benoetigt, bei einer durchschnittlichen URL Laenge von 30 Charaktaeren. Ein SiteCrawler Objekt haelt nur die URL als Instanzvariable

Aufgabe 2: Grenzen heutiger Suchmaschinen

a)

Antwort: "Bei Hang Fung gibt es nämlich eine Toilette aus purem Gold. "
"Nur wer zuvor Schmuck eingekauft hat (für mindestens 1000 Hongkonger Dollar, das sind umgerechnet etwa 270 DM), darf die Edeltoilette benutzen." (Gemeint sind vermutlich 100 Dollar, wie in einem späteren Satz erwähnt)
Quelle: http://www.traumbad.de/nxs/746///traumbad/40/schablone1/platz_nehmen_und_sich_wie_ein_koenig_fuehlen__auf_der_toilette_aus_purem_gold.htm
Suche: lam sai wing 100 dollar
Position bei Google: 1
Aufwand: 2 Suchanfragen, <1min

b)

 Antwort: "Im späten 19. und frühen 20. Jahrhundert etablierte sich die Anrede „Fräulein“ vor allem für berufstätige Frauen (z.B. Angestellte in Warenhäusern, Kellnerinnen und Lehrerinnen), da weibliche Berufstätigkeit damals noch strikt auf die Zeit vor der Ehe beschränkt war. Im Deutschen Reich gab es von 1880 bis 1919 sogar eine rechtliche Vorschrift (einen Ministererlass), wonach weibliche Lehrkräfte unverheiratet sein mussten, das „Lehrerinnenzölibat“."
Quelle: http://de.wikipedia.org/wiki/Fr%C3%A4ulein
Suche: lehrerinnen fräulein
Position bei Google: 5
Aufwand: 1 Suchanfrage, <1min

c)

Antwort: "Ecuador hatte 2000 – vor Correas Amtsantritt – seine eigene Währung abgeschafft und durch den Dollar ersetzt."
(war bereits in der Google-Vorschau lesbar)
Quelle: http://www.neues-deutschland.de/artikel/138222.correa-will-waehrungsfonds-abschaffen.html
Suche: währung abgeschafft 2000
Position bei Google: 4
Aufwand: 1 Suchanfrage, <1min

d)

Antwort: Hawaii (Vermutung)
Quellen:
http://de.wikipedia.org/wiki/US-Bundesstaat
http://de.wikipedia.org/wiki/Hawaii
Suchen: botswana; us-bundesstaaten
Position bei Google: jeweils 1
Aufwand: 3 Suchanfragen, mehrere Wiki-Seiten lesen + menschliches Folgern, 3-5min
- Anfrage ist schwer durch Suchmaschine beantwortbar, daher habe ich mir die Karten selbst angeschaut und durch "Hinschauen" die Frage beantwortet

e)

Antwort: Tycho Brahe
Quelle: http://de.wikipedia.org/wiki/Tycho_Brahe?title=Spezial:Booksources&isbn=3518369903
Suche: harnverhaltung mondkrater hamburg-wandsbek
Position bei Google: 1
Aufwand: 4 Suchanfragen (bis richtige Kombination von Suchbegriffen gefunden wurde), 2-3min

f)

  • Schwierigkeiten bei Nachforschungs-Aufgaben wie (d): Suchmaschine kann nicht mehrere Schritte einer Anfragebearbeitung selbst erledigen (wie z.B. Lage der Staaten erkennen und mit diesen Infos zu einem Entfernungsmessdienst gehen; dies für eine Liste von Staaten)
    • Schlagworte nicht ausreichend um Anfrage konkret genug zu formulieren, außerdem Suchmaschinen-Fähigkeiten nicht ausreichend für Beantwortung
  • Schwierigkeiten bei Anfrage bzgl. sehr konkreter Information mittels eher allgemeiner Begriffe (wie in (e))
    • Finden richtiger Kombination von Suchbegriffen ist Glückssache
  • Schwierigkeiten  auch bei Synonymen/Homonymen möglich

Aufgabe 3: Qualität von Suchmaschinen

a)

Grundsätzliche Herangehensweise

  • Testanfragen entwickeln
  • Gewünschtes Ergebnis beschreiben
  • Soll-Ist-Vergleich der Suchmaschinenergebnisse mit gewünschtem Ergebnis

Anzahl Ergebnisse

  • Nicht sehr aussagekräftig
  • Bsp.: Trefferzahl-Anzeige bei Google

Traditionelle Größen

Die üblichen Verdächtigen:
  • Precision (Wie viele der Suchtreffer sind erwartet?)
  • Recall (Wie viele der erwarteten Seiten werden gefunden?)
  • F-Measure (harmonisches Mittel aus Precision und Recall)
Probleme:
  • Akademisch, weil Wahrheit in der Regel nicht bekannt. D.h. "erwartete" Treffer sind unklar.
  • Kein Ranking der Suchergebnisse

Manuelle Evaluierung

  • Punktesystem entwickeln
    • Sind Suchergebnisse "sinnvoll"?
    • Passen Ergebnisse zu gesuchter Kategorie?
    • (Wie soll Suchmaschine das wissen?!?!?!?!1)
  • Bewertung von Suchergebnissen durch Domänenexperten

Suchmaschinen-Ranking-Verfahren

  • Häufigkeit des Suchbegriffs
  • Anzahl der Links von anderen Webseiten

b)

Vorteile bieten semantische Suchmaschinen dann, wenn es um Suchanfragen geht, die nur über die Bedeutung der Wörter korrekt gelöst werden können.
Also wird man zeigen wollen, dass nun klassische Probleme wie die Suche nach "Golf" besser zu bewältigen sind.
Dabei gibt es zwei Herausforderungen:
  • Eine Suchanfrage ist mehrdeutig.
  • Die Ergebnisseiten müssen korrekt den jeweiligen Bedeutungen zugeordnet werden.
Dass die Suche Mehrdeutigkeiten erkennen kann, ist optimalerweise durch das UI erkennbar. Dann läßt sich das auch automatisiert testen, in dem man im Prinzip ein Wörterbuch mit Synonymen und Homonymen durchgeht und die Vorschläge auf Vollständigkeit prüft.

Die korrekte Zuordnung von Seiten zu Bedeutungen kann bei einem offenen System, wie dem Internet, nicht sinnvoll maschinell erfolgen.
Daher folgender Testaufbau am Beispiel "Golf":
  • Für jede der Bedeutungen gibt es zwei Personengruppen. Also zwei für das Auto, zwei für den Sport und zwei für das Gewässer.
    • Jeweils eine benutzt die semantische, die anderen die traditionelle Suchmaschine.
  • Die semantische Gruppe sucht nur nach ihrem Stichwort und erwartet dann Vorschläge der Suchmaschine bzgl. der Bedeutung. Die traditionelle Gruppe gibt die jeweilige Bedeutung und weitere Hilfen einfach als Keywords ein.
  • Jede Gruppe wertet die Treffer der ersten Seite aus, ob sie auf ihre Kategorie passen. Unsere geniale semantische Suche wird dabei natürlich nur Seiten für die jeweilige Bedeutung anzeigen.
  • Richtig angezeigte Seiten werden gezählt und statistisch ausgewertet.
Das macht man dann mit mehreren Begriffen, so dass das Ganze an Aussagekraft gewinnt.


Č
ċ
ď
WebCrawler.jar
(492k)
Felix Geller,
Nov 9, 2008 3:50 AM