Wie funktionieren Suchmaschinen?

marketingmixtur_seo_wie_funktionieren_suchmaschinen

Den Inhalt verstehen

Um bewerten zu können, inwiefern sich ein (Text-)Inhalt als Ergebnis zu einer bestimmten Suchanfrage eignet, müssen wir dieses Problem in mehrere Unterprobleme aufteilen.

Zunächst steht die Frage im Raum, ob das Thema des Textes mit dem der Suchanfrage zugrundeliegenden Thema übereinstimmt. Anders formuliert: Bewegt sich der Text im selben thematischen Umfeld (z.B. Autos), wie die Suchanfrage?

Lässt sich die Frage der thematischen Übereinstimmung positiv beantworten, stellt sich direkt eine weitere: Wie qualitativ hochwertig ist der Text?

Die Thematische Übereinstimmung

Zunächst einmal vorneweg: Computer – egal wie groß und teuer – sind auch heute noch nicht in der Lage, menschliche Sprache vollends zu verstehen. Es ist sogar fraglich, ob sie jemals in der Lage sein werden, dies zu tun.
Die gute Nachricht ist: Mit trainierten Modellen, gelernten Mustern und den Ergebnissen explorativer Statistik ist es zumindest möglich, ungefähr bestimmen zu können, wie sehr eine Suchanfrage und ein Inhalt matchen (von englisch: to match).
Wenn es uns möglich ist, diesen Match mit einer Zahl auszudrücken, dann ist es nur noch ein kleiner Schritt, daraus eine vollwertige Suchergebnisliste zu generieren: Wir müssen lediglich die gefundenen Inhalte bzw. Webseiten absteigend nach deren Match-Wert sortieren.

Es gibt viele verschiedene Ansätze, einen solchen Match-Wert zu berechnen. Wir wollen im Folgenden drei Ansätze vorstellen. Als Eingabedaten verwenden wir in allen Fällen eine Suchanfrage (bestehend aus einem oder mehreren Wörtern) und einem textbasieren Inhalt.
Doch bevor wir damit beginnen können, müssen wir auf ein Problem zu sprechen kommen, dass alle Ansätze gemein haben: Die Frage, was „ein Wort“ ist.

Tokenizer, Lemmatizer und Nametagger

Die Frage, was ein Wort ist, werden Sie sicherlich ganz intuitiv beantworten können. Für den Computer ist das nicht ganz so trivial, da er wie immer klare Regeln erwartet.
Eine sehr simple Regel, um einen Fließtext in einzelne Wörter aufzuteilen, könnte daraus bestehen, den Text zwischen zwei Leerzeichen als ein Wort zu interpretieren. Diese Interpretation wird von einem Programm (-teil) vorgenommen, das man gemeinhin als Tokenizer bezeichnet.
Unser Beispiel-Tokenzier würde aus folgendem Satz, die darunter aufgelisteten Wörter extrahieren.

“Next week, I’ll travel to New York and visit my sister Joy.”

1 Next
2 week,
3 I’ll
4 travel
5 to
6 New
7 York
8 and
9 visit
10 my
11 sister
12 Joy.

 


Natürlich fallen uns direkt einige Fehler auf. Einer davon ist darauf zurück zu führen, dass Sätze in der Regel mit einem Punkt und keinem Leerzeichen enden. Wir wollen an dieser Stelle nicht auf alle Regeln eingehen, die nötig sind, um einen hinreichend guten Tokenizer zu konstruieren.
Uns ist allerdings wichtig, den Aufgabenbereich des Tokenizers im Bezug zum Lemmatizer und Nametagger klar abzugrenzen. Hierfür sollte es reichen, die Ausgabe eines „ordentlichen“ Tokenziers wiederzugeben (die dazu nötigen Regeln können Sie sich selbst zusammenreimen):

1 next
2 week
4 ,
5 I
6 ‘ll
7 travel
8 to
9 New
10 York
11 and
12 visit
13 my
14 sister
15 Joy
16 .

 

Nun kommt der sogenannte Lemmatizer ins Spiel. Dieser ist dafür zuständig, die Wörter auf ihre Stammform zurückzuführen. In westlichen Sprachen wäre dies:

  • Bei Verben: Infinitiv (Präsenz)
  • Bei Nomen: Die Einzahl

„Aber warum sollte das nötig sein?“ – werden Sie fragen. In unserem Beispiel müsste „‘ll“ zu „will“ überführt werden, damit eine Suche nach „will“ einen Treffer zurückgäbe.

Schließlich haben wir noch zwei Probleme, für deren Lösung der Nametagger zuständig ist:

  • „New York“ ist eine Stadt und sollte daher auch als ein Wort behandelt werden
  • „Joy“ ist in unserem Beispiel eine Person und nicht etwa englisch für die Freude oder freuen.

Nametagger wenden komplexere Regeln an, um erkennen zu können, ob es sich bei einer Textpassage um einen Ort, einen Namen, eine Organisation etc. handelt. Ergänzend nutzen Sie Wörterbücher (Dictionaries) , um die Trefferquote zu verbessern.

Info: Tokenizer, Lemmatizer und Nametagger arbeiten typischerweise in einer sogenannten Pipeline, wobei die Ausgabe der vorgehenden Module als Eingabe dem nächsten dienen.
Die Ursprünglichen Informationen werden typischerweise nicht überschrieben, sondern lediglich um weitere sogenannte Annotationen ergänzt.

Das Ergebnis von Tokenizer, Lemmatizer und Nametagger auf unseren Beispielsatz angewendet sehen Sie hier:

1 next
2 week
3 ,
4 I
5 will
6 travel
7 to
8 New York
9 and
10 visit
11 my
12 sister
13 Joy
14 .

Nun wissen wir, wie Suchmaschinen Texte in Wörter zerlegen und diese darüber hinaus vergleichbar machen. Hierfür ist wichtig, dass die beschriebenen Mechanismen sowohl auf den (Text-)Inhalt, als auch auf die Suchphrase gleichermaßen angewendet werden.

Wir können nun getrost mit der ursprünglichen Fragestellung und den versprochenen drei Ansätzen zur Bestimmung der thematischen Übereinstimmung fortfahren.

Ansatz I: Absolute Worthäufigkeiten

Die denkbar einfachste Möglichkeit eine Treffergüte (Match) zu berechnen ist es, zu zählen, wie häufig ein Suchwort im Text vorkommt, wobei gilt: Je häufiger das Suchwort vorkommt, desto höher ist der Match.
Dieser Methode liegt die Annahme zugrunde, dass ein  Text, in dem das Suchwort sehr häufig vorkommt, sich sehr intensiv mit diesem Wort beschäftigt.
Besteht eine Suchanfrage, aus mehreren Wörtern, so addieren wir die Worthäufigkeiten einfach miteinander (eine komplexere Methode, als die Addition wird weiter unten vorgestellt).

Es wird schnell ein offensichtlicher Nachteil dieses Ansatzes deutlich: Lange Texte, in denen die Suchwörter mit einer hohen absoluten Häufigkeit auftreten werden bevorzugt, wogegen kurze Texte, die sich intensiv mit dem Thema beschäftigen benachteiligt werden.
Eine Lösung hierfür bietet der zweite Ansatz:

Ansatz II: Relative Worthäufigkeit


Die geschilderte Schwachstelle des ersten Ansatzes lässt sich sehr einfach beheben: Man teilt die Anzahl der Treffer (wie oft das Suchwort im Text vorkommt) durch die Gesamtanzahl der Wörter des Textes und erhält eine relative Häufigkeit.
Hierdurch beseitigen wir die beschriebene Ungleichgewichtung verschieden  langer Texte.
Ein weiteres Problem bleibt aber nach wie vor bestehen. Dieses ergibt sich, wenn wir eine Suchanfrage verarbeiten wollen, die aus mehreren Worten bestehen. Suchen wir beispielsweise nach:

“Ein günstiges Auto”

Nach dem Einsatz von Tokenizer und Lemmatizer sollten die folgenden Suchworte extrahiert worden sein:

1 ein
2 günstig
3 Auto

Stellen wir uns nun vor, wir hätten zwei Webseite: Auf der Webseite A geht es um Motorräder, auf der Webseite B um Autos. Der Textbereich beider Webseiten umfasst je 400 Wörter.
Hier ein Auszug der verwendeten Wörter sowie deren absolute und relative Häufigkeiten:

Webseite A:

Wort Anzahl Relativ
ein 20 5,00%
günstig 3 0,75%
Auto 0 0,00%

Webseite B:

Wort Anzahl Relativ
ein 12 3,00%
günstig 1 0,25%
Auto 2 0,50%

Addieren wir die relativen Worthäufigkeiten, so erhalten wir für Webseite A: 5,75% und für B: 3,75%.
Hieraus würden wir nun einen höheren Match-Wert für Webseite A ableiten, da (relativ) mehr Wörter des Textes denen der Suchanfrage entsprechen.

Sie werden Sie vielleicht sagen: „Moment einmal! Das wichtigste Wort „Auto“ taucht auf Webseite A gar nicht auf.“ Und da kann man Ihnen nur Recht geben. Nur wie soll der Computer entscheiden, welches Wort „wichtig“ ist und welches nicht?
Eine Möglichkeit dieses Problem anzugehen hört auf den Namen Tf-idf und ist elementarer Bestandteil des dritten und letzten hier vorgestellten Ansatzes:

Ansatz III: Tf-idf und Vektorraum

Das Kürzel Tf-idf setzt sich zusammen aus:

Tf – steht für term frequency. Die term frequency haben wir bereits kennengelernt: Es ist die absolute Worthäufigkeit, also das Ergebnis unseres ersten Ansatzes.

idf – bedeutet inverse document frequency. Lässt man das inverse erst einmal weg, so gibt die document frequency (df) an, in wie vielen Dokumenten (z.B. Webseiten) das Wort vorkommt.
Die document frequency eines bestimmten Wortes ändert sich im Vergleich zu der anderer Wörter kaum und kann daher als Konstante angenommen werden.
Das Wort „ein“ aus unserem Beispiel wird eine extrem hohe df haben. Das Wort „Auto“ dagegen kommt in weniger Dokumenten vor und hat daher eine geringere df.
Kehrt man die document frequency (df) um, so erhält man die inverse document frequency (idf):

N bezeichnet hier die Gesamtanzahl an Dokumenten (bzw. Webseiten). Der Logarithmus sorgt dafür, dass wir eine „überschaubare“ Skala erhalten, auf der die häufigsten Wörter den Wert 0 erhalten (man spricht hier von sogenannten Stopwords). Ein Wort mit idf = 2 taucht in 10mal so vielen Dokumenten auf, wie ein Wort mit idf = 3 (Hier wurde der 10er-Logarithmus vorausgesetzt).

Tf-idf setzt Tf und idf in Beziehung zueinander und ist dadurch geeignet jedem Wort in einem Dokument einen Match-Wert zuzuweisen. Eine mögliche Formel zur Berechnung dieses Match-Werts kann so aussehen:

Der Vektorraum

Bisher haben wir stets die Match-Werte einzelner Suchwörter durch Addition kombiniert. Dies soll sich nun ändern.
Die Schwachpunkte der Addition wird im Beispiel am Ende des zweiten Ansatzes deutlich: Wörter, die gar nicht vorkommen, werden einfach „überstimmt“. Wir wollen im folgenden Abschnitt eine alternative Methode vorstellen, die sich sehr gut eignet, mehrere Werte in einen Übereinstimmungs-Wert zu überführen.

Stellen wir uns wieder eine Suchanfrage bestehend aus zwei Wötern vor:

“Günstiges Auto”

Aus „günstiges“ machen wir wieder „günstig“. Für die zwei Wörter berechnen wir alsdann Tf, idf und Tf-idf für die zwei Webseite A und B.

Webseite A:

Wort Tf idf Tf-idf
günstig 3 2 6
Auto 0 4 0

Webseite B:

Wort Tf idf Tf-idf
günstig 1 2 2
Auto 2 4 8

Außerdem berechnen wir das Ganze noch einmal für die Suchanfrage:

Wort Tf idf Tf-idf
günstig 1 2 2
Auto 1 4 4

Wenn wir die Tf-idf-Werte in ein Koordinatensystem eintragen, ergibt sich folgendes Bild:

Die farbig dargestellten Vektoren zeigen die „inhaltliche Richtung“ an, in der sich die Webseite bzw. Suchanfrage bewegt. Wir können bereits gut sehen, dass Webseite B eher in derselben „Richtung“  wie die Suchanfrage liegt, als das bei Webseite A der Fall ist.
Mathematisch lässt sich diese Richtungs-Ähnlichkeit berechnen, doch das soll an dieser Stelle nicht weiter vertieft werden (bei Interesse: Wikipedia: Vector Space Model).

Wir haben bewusst ein Beispiel mit zwei Suchwörtern gewählt, da es sich gut in einem 2D-Koordinatensystem darstellen lässt. Natürlich lassen sich beliebig viele Wörter und damit Dimensionen einbeziehen, ab der vierten Dimension stoßen wir Menschen allerdings an die Grenze unserer Vorstellungskraft – für den Computer stellt das aber keine Schwierigkeit dar.

Anmerkung: Neben der Worthäufigkeit (Tf) können weitere Faktoren einbezogen werden. So gewichten Suchmaschinen wie Google ein Wort stärker, wenn es in einer Überschrift vorkommt.
Auch ist der Text auf der Webseite nicht die einzige Quelle, die herangezogen werden kann, um das Thema der Seite zu bestimmen: Sehr beliebt bei Google & Co. sind die sogenannten Anchor-Texte eingehender Links.

Die Qualität des Textes

Die Qualität des Textes bzw. der Webseite ist sicherlich ein wichtiges Kriterium, wenn es um die Frage geht, welche Position ein Suchergebnis in der Ergebnisliste belegen soll.
Allerdings ist es auch für Suchmaschinen sehr schwierig, die inhaltliche Richtigkeit eines Textes zu überprüfen. Dies würde nicht nur eine komplette semantische Aufschlüsselung des Textes voraussetzen, die Suchmaschine müsste noch dazu über das nötige domainspezifische Wissen verfügen, um einen Vergleich der Informationen durchführen zu können.
Es ist daher anzunehmen, dass sich heutige Suchmaschinen auf die Überprüfung nicht-inhaltlicher Qualitätsmerkmale, wie z.B. der Rechtschreibung beschränken.

Alles in Allem scheinen Suchmaschinen heute bei der Bewertung der Qualität einer Webseite eher auf Website-externe Quellen zu vertrauen. Hiervon handeln die nächsten Abschnitte.

Artikel-Übersicht:

Pages: 1 2 3 4 5

You can leave a response, or trackback from your own site.

Leave a Reply