Machine Learning

Machine Learning“ und Content: TF-IDF? Latent Semantic Indexing? Und sonst so?

Aktualisierung: 20. Februar 2019 | 14:06 Uhr

Hin und wieder schreibe ich gerne – heute ist das Themengebiet „Machine Learning“. Steiler Begriff. Ich werfe nochmal Künstliche Intelligenz hinterher und habe damit quasi die wichtigen Buzzwords direkt verwendet. Dass „Machine Learning“ mittlerweile im Online Marketing angekommen ist, sieht man in den vergangenen Monaten und Jahren unter anderem auf diversen Fachkonferenzen. Dabei sind es – vor allem, in Zusammenhang mit SEO und Content – super stinklangweilige Algorithmen, die man meist problemlos auf dem Blatt Papier nachverfolgen bzw. nachrechnen kann. Aber klar, ML bzw. KI klingt erstmal geiler. Zumindest ich hab bisher noch nirgends wirklich Anwendung von tensorflow o.ä. Deep Learning Frameworks in Zusammenhang mit SEO gesehen. Deren Rechenwege nachzuvollziehen, das ist wirklich alles andere als einfach. Das soll hier aber nicht das Thema sein. Ich will im Grunde noch weitere recht interessante Algorithmen aus diesem Fachgebiet vorstellen, die sich zur Themenextraktion und Analyse gut eignen und die ich im Rahmen eigener Projekte sowie bei dem ein oder anderen Kunden verwende, wenn es an Themenrecherche etc. pp. geht. Ich will aber auch zeigen, dass es nicht einfach damit getan ist, irgendwas in den Algorithmus zu kloppen und die tollsten Ergebnisse zu erwarten.

Dieses Mal versuche ich den Leser nicht mit „Was ist ABC?“ Abschnitten zu langweilen – Google und Wikipedia sind bekanntlich dafür da, unbekannte Begriffe nachzuschlagen. Ganz gelungen ist es mir nicht, daher ein kurzes Inhaltsverzeichnis im Folgenden:

  • Wozu braucht man TF-IDF oder Latent Semantic Indexing (kurz LSI)?
  • Wie funktioniert Latent Semantic Indexing?
  • Exkurs: Machine Learning allgemein
  • Abseits von LSI – was es sonst noch so gibt
  • – Latent Dirichlet Allocation
  • – Nicht-negative Matrix Faktorisierung
  • – Independent Component Analysis
  • – Incremental Principal Component Analysis
  • Beispiel mit mehr Daten: „Content SEO“
  • Was sagen uns diese Wörter und Themenwolken?
  • Fazit
  • Exkurs: Die wichtigsten Einflussfaktoren auf Google Rankings 2017/2018/2019

Wozu braucht man TF-IDF oder Latent Semantic Indexing (kurz LSI)?

Wer eigene Projekte betreibt oder Kunden im Bereich SEO berät, kommt früher oder später mit Begriffen, wie TF-IDF (Wikipedia) oder Latent Semantic Indexing/Analysis (Wikipedia), in Berührung. Diese Methoden/Algorithmen erlauben es recht einfach und schnell die interessanten Keywords oder Themen aus einer Gruppe von Dokumenten zu extrahieren. Im Fall von LSA hat man zum Beispiel ein Instrument, um Themen/Wörter zu einer Suche zu finden, die semantisch miteinander verwandt sind. Suchmaschinen werden solche und ähnliche Algorithmen verwenden, um Suchanfragen zu verstehen und zu prüfen, welche Artikel zur Suche passen. Daher werden TF-IDF- oder LSI-Tools häufig verwendet, um eigene Texte in die „richtige“ Richtung zu trimmen.

Wie funktioniert Latent Semantic Indexing?

Die wissenschaftliche Antwort findet man recht schnell bei Google samt Algorithmus. Interessant ist hier lediglich, dass es nicht DIE LS-Analyse gibt. Sie kann auf der reinen Zählung der Häufigkeit von Begriffen in den Dokumenten des gesamten Korpus basieren oder auf einer TF-IDF-Matrix.

Codebeispiel zu LSI:
Man sieht ich habe im Grunde 2x drei sehr stupide Sätze zu zwei verschiedenen Gebieten (ML und Tiere) als Dokumentenkorpus.

Ergebnis

TF-IDF + tSVD
intelligenz ist künstliche lernen maschinelles
zwei affen elefanten einfach wie

WordCount + tSVD
intelligenz lernen maschinelles ist zu
affen zwei elefanten zu ist

Wir sehen, dass beide latent semantische Analysen recht brauchbare aber unterschiedliche Ergebnisse liefern. Das liegt aber vor allem am Input, der recht klein und überschaubar ist. Mit zunehmender Länge und Anzahl der Texte, wird sich in den meisten Fällen TF-IDF als Basis für so eine Analyse als die bessere Wahl herauskristallisieren. In beiden Fällen werden keine Stoppwörter verwendet sowie lediglich zwei „Themengebiete“ mit je den fünf wichtigsten Wörtern bestimmt. Wen der Quellcode an sich interessiert bzw. eher die verwendeten Methoden, wird in der Dokumentation einer der beliebtesten Machine Learning Bibliotheken (ich rede von sklearn) der Welt fündig: sklearn.decomposition.TruncatedSVD

Exkurs: Machine Learning allgemein

Das oben gezeigte Beispiel mit LSI zeigt ansatzweise, wie Machine Learning heutzutage funktioniert:

Daten vorbereiten: ggf. Stopwörter entfernen, nur die Wortstämme verwenden, seltene Wörter entfernen, …
Preprocessing: Algorithmen rechnen und das tun sie in aller Regel mit Zahlen, daher ist es nötig unsere Wörter, Sätze auf irgendeine Art und Weise in eine Zahlenrepresentation zu bringen, dafür haben wir hier TF-IDF.
Feature Selection: Manchmal hat man es mit einer großen Menge an Eigenschaften zu tun, die womöglich zum Großteil irrelevant sind. Daher bemüht man sich, ehe man überhaupt irgendwas „trainiert“ die Eigenschaften zu reduzieren. Das kann ein guter Statistiker von Hand machen, es gibt allerdings auch interessante algorithmische Wege. Die Belohnung sind deutlich kürzere Zeiten, die das Training braucht.
Feature Engineering:Aus Metainformationen lassen sich in einigen Fällen sogar neue Features selbst in das Featureset (mit dem später trainiert wird) einarbeiten. Unter Umständen erhöht sich so die Präzision.
Modell trainieren und validieren (Split Tests, Cross Validation)
Modell testen und für Voraussagen nutzen

Ich habe der Einfachheit halber einiges im Beispiel einiges davon übersprungen bzw. nicht angewendet – einige der Punkte, machen in einem Anwendungsfall, wie „was sind die Themengebiete der Texte?“ auch keinen Sinn. Anders sieht es natürlich aus, wenn es Fragestellungen aus dem Bereich Klassifikation oder Regression sind. Mit solchen Fragestellungen hat man es am häufigsten zu tun.

Exkurs: Klassifikation in der Praxis – numer.ai

numer.ai ist eine Plattform auf der „Data Scientists“ an Wettbewerben teilnehmen, bei denen es im Grunde darum geht eine „1“ oder eine „0“ vorauszusagen. Man bekommt zwei Dateien gestellt. In einer Datei befinden sich die Trainingsdaten in Form von mehr als 500.000 Zeilen mit einem Featureset von 50 Features je Zeile und der Klasse 1 bzw. 0. In der anderen Datei befinden sich die Wettbewerbsdaten – noch mehr Zeilen mit 50 Eigenschaften (Spalten), aber ohne Klasse. Diese gilt es nun für diese Daten zu prognostizieren.

Hier kann man wunderschön im Vorfeld die Daten analysieren, Korrelationen aufspüren und über verschiedene Methoden die Dimension (50) reduzieren. So bleibt die Aussage des Trainingssets auf Basis von deutlich weniger Features/Eigenschaften erhalten und das Training dauert nicht mehr so lange. Das wäre klassisches Feature Selection. Wer so etwas automatisieren will, der kann mal nach BorutaPy, Pearson Korrelation, Lasso, Ridge oder MINE suchen.

Feature Engineering gestaltet sich im konkreten Fall als schwer. Die Teilnehmer wissen nur, dass die Daten aus dem Finanzmarkt kommen. Das war es eigentlich auch schon. Sie sind verschlüsselt, so dass man nicht weiß, was hinter diesen Zahlen steckt. Eine „0.56278“ könnte beispielsweise auch die Temperatur sein.

Um die trainierten Modelle zu testen, stehen spezielle Validierungsdaten zur Verfügung. Manche Algorithmen führen ohnehin eigene Cross Validation Tests auf Basis der Trainingsdaten selbst durch. Ein durchaus übliches Verfahren nur 2/3 der Trainingsdaten zu verwenden und die Performance hinterher mit Hilfe der restlichen 1/3 zu bestimmen.

Exkurs: Regression in der Praxis – Häuserpreise voraussagen

So einen Wettbewerb kann man sich z.B. bei kaggle.com anschauen. Aufgabe ist es auf Basis von 80 verschiedenen Eigenschaften die Preise von Häusern vorauszusagen. Die Herausforderung besteht hier vor allem im Feature Engineering und der Datenvorbereitung (fehlende Werte, starke Ausreißer, …).

Link zum Wettbewerb.

Abseits von LSI – was es sonst noch so gibt

Wie eingangs erwähnt, sind im Bereich Textanalyse, noch einige interessante Modelle vorhanden, die es sich lohnt zu verwenden. Die meisten davon kann man sehr gut und effizient zur Extraktion von Themengebieten verwenden. Die Performance variiert teilweise sehr stark, im Bereich Machine Learning ist das aber nicht unüblich. Für meine Analysen verwende ich gerne alle Modelle und strenge hinterher den Kopf an. Das ist in diesem Fachgebiet ohnehin Pflicht.

Latent Dirichlet Allocation

Weiterführender Inhalt: Wikipedia sowie nähere Funktionsweise des Algorithmus.

Das Beispiel:

Ergebnis:

TF-IDF + LDA
ein themengebiet interessantes künstliche intelligenz
zwei affen elefanten zu maschinelles

Wir sehen hier schon die ersten unpassenden Wörter. Insofern ist bei allen Algorithmen auch irgendwo das Köpfchen einzuschalten. LDA ist ebenfalls ein schönes Beispiel dafür, wie wichtig die Auswahl richtiger Parameter ist. Die Implementierung von LDA innerhalb des sklearn Frameworks bietet z.B. noch einen Parameter „max_iter“. Der default-Wert liegt bei 10 Iterationen. Das ist in den meisten Fällen zu wenig. Wir testen:

tfidf_lsi = decomposition.LatentDirichletAllocation(n_components=2, max_iter=30)

Nun arbeitet der Algorithmus mit 30 statt 10 Iterationen. Das Ergebnis sieht anschließend folgendermaßen aus und spiegelt nun unsere beiden Themenkomplexe (Tiere und ML) deutlich besser wieder:

TF-IDF + LDA (max_iter=30)
lernen maschinelles intelligenz irgendwie zum
affen zwei elefanten ist ein

Nicht-negative Matrix Faktorisierung

Was Wikipedia dazu sagt, liest du hier. NMF ist mein Lieblingsalgorithmus. Die Ergebnisse auf TF-IDF Basis sind meist richtig gut – vor allem, wenn die eigenen Daten sauber sind, keine Stoppwörter beinhalten etc. pp.

Das Beispiel:

Das Ergebnis:

TF-IDF + NMF
intelligenz künstliche ist lernen maschinelles
zwei affen elefanten einfach wie

Wie angekündigt, ist auch hier das Ergebnis überzeugend. Zwei Themengebiete, die recht gut samt wichtiger Wörter extrahiert werden.

Independent Component Analysis

Das Beispiel:

Das Ergebnis:

TF-IDF + FastICA
künstliche zum irgendwie gebiet gehört
zwei elefanten affen nur einfach

Auch hier ist das Ergebnis im groben korrekt, aber vor allem im Themengebiet Machine Learning hätte man wohl etwas mehr erwartet.

Incremental Principal Component Analysis

Das Beispiel:

Das Ergebnis:

TF-IDF + IncrementalPCA
zwei elefanten affen nur einfach
zu ähnlich menschen gut was

Hier sehen wir schon eher den Fokus auf das Themengebiet „Tier“. Von ML ist nichts zu lesen. PCA (Wikipedia) ist ein wundervolles Werkzeug zur Dimensionsreduktion und kann verwendet werden, wenn alle Dokumente vom gleichen Thema handeln. Man sollte bei PCA generell etwas aufpassen. In Zusammenhang mit Textanalyse verwendet man PCA ehrlich gesagt sehr selten – wer viele Eigenschaften vom gleichen Typ hat (tausende) kann damit erreichen, dass man statt dieser tausend Eigenschaften ggf. nur 100 oder 200 konstruieren kann mit denen sich im Anschluss auch deutlich einfach und schneller rechnen lässt. Dimensionsreduktion ist eher Bestandteil des Preprocessings.

Beispiel mit mehr Daten: „Content SEO“

Ob „Content SEO“ ein geeigneter Suchbegriff ist, ist so eine Frage. Will man einfach nur guten Content aufbauen zu einem Thema oder eine breitere Contentstruktur bestehend aus einigen Hub- und Unterseiten, sind solche Algorithmen eine ganz gute Wahl, um sich schnell Überblick zu verschaffen und an „Ideen“ zu kommen. Optimiert man den Content mit Hilfe solcher Methoden, kann es auch passieren, dass man im Ranking steigt – das beobachte zumindest ich – vor allem, wenn das Hauptkeyword tendenziell ein reines Informationskeyword ist. Bei transaktionalen Keywords bzw. Suchen wird man mit solcher Optimierung eher wenig ausrichten können. Da hat Google ganz andere Methoden um passende Seiten anzuzeigen, die nicht unbedingt viel mit dem Content dieser Seiten zusammenhängen müssen (oder zumindest ist der Faktor Content hier deutlich geringer) aber sehr gut auf die Suche passen. Google wird vermutlich selbst ein sehr gutes System haben, um Websites bzw. sogar einzelne Pages recht genau zu klassifizieren. Das gleiche lässt sich mehr oder weniger komplex mit dem Suchbegriff machen und so die passenden Matches zusammenführen. Dinge, wie vorhergehende Suchen, Lieblingsseiten, Ort, Zeit werden hier eine viel größere Rolle spielen.

Kurz: die von mir verwendeten Algorithmen sind keine Allround Wunderwaffen – man kann sie aber ganz gut verwenden,vor allem, wenn man Sie mit W-Fragen und ähnlichem kombiniert oder die Ergebnisse von Crawls von tausenden Seiten eines Themengebiets dazu nimmt, um gute Hubpages und eine solide Informationsinfrastruktur zu bauen.

Wir wollen einfach annehmen, dass „Content SEO“ eine gute Wahl ist.

Wichtig: Die Ergebnisse bzw. das Format unterscheidet sich deutlich von dem oben gezeigten. Ich habe für solche Analysen ein mittlerweile recht komplexes Tool, das einige Aufgaben (Scraping, Preprocessing, Training, …) automatisiert durchführt. Ich kann über Parameter oder spezielle Config-Dateien in den Prozess eingreifen (Hyperparameter anpassen, Stopwörter anpassen, Content selbst anpassen, Scraping anpassen, Textextraktion nur aus bestimmten Teilen der Seiten, …). Das ist besonders wichtig, weil man schnell bei großen Datenmengen sehen wird: Crap in, crap out. Die Qualität der Daten ist im Grunde das A und O. Stimmt diese nicht, kann man einfach keine guten Ergebnisse erwarten. Um sinnvolle Ergebnisse zu bekommen reicht meist ein Durchlauf ohne spezielle Anpassungen. Will man aber wirklich super Ergebnisse haben, wird man die Parameter immer etwas anpassen sowie domänenspezifische Stoppwörter hinzufügen müssen.

Im konkreten Fall „Content SEO“ habe ich den Input nicht verändert (was man im Realfall machen würde, da ist oft ebenfalls Mist dabei). Von den Top 100 Ergebnissen für „Content SEO“ hat das Script lediglich 80 erfolgreich gescraped. Die restlichen sind ggf. nicht deutsch, haben kaum Content oder machen sonstige Probleme. Ich habe lediglich die bekannten Stopwörter entfernt. Stemming ist deaktiviert.

Hierarchical Dirichlet Process

Für das HDP-Modell verwende ich die Implementation von gensim. Relativ einfach selbst umzusetzen. Die Ergebnisse sind brauchbar. Jetzt könnte man in einer weiteren Iteration Google als Stopwort hinzufügen, gleiches gilt auch für das Wort SEMRush. :

  1. Content, Marketing, Google, Seite
  2. Content, Marketing, Google, Inhalte
  3. Content, Marketing, Optimierung, SEMRush
  4. Marketing, Content, Google, Linkaufbau
  5. Content, Marketing, Google, Keywords
  6. Content, Website, Seite
  7. Texte, Content, Text, Texter

TF-IDF mit Latent Semantic Indexing

Hier habe ich aus Interesse zwei verschiedene Frameworks/Tools verwendet, die das gleiche machen sollen. Durchaus spannend – gleicher Input, unterschiedliche Ergebnisse.

sklearn-Variante

  1. Content, SEO, Marketing, Content Marketing, Google
  2. Google, SEO, Inhalte, Seite, Website
  3. SEO, SEO Content, Texte, SEO Texte, Text
  4. Inhalte, Content, Website, Seite, Keywords
  5. Inhalte, Marketing, Content Marketing, Online Marketing
  6. Keywords, Seite, Keyword, Text, Marketing
  7. Seite, Website, Suchmaschinen, Thema, Keywords
  8. Texte, SEO Texte, Online, Nutzer, Kunden
  9. Text, Keyword, Gut, Inhalt

gensim-Variante

  1. Website, Marketing, Texte, Google
  2. Sistrix, Corporate, Toolbox
  3. Sistrix, Toolbox, Redakteur
  4. Sistrix, Optimierung, Toolbox
  5. Sistrix, Onlinemarketing, Lexikon

Latent Dirichlet Allocation (TF-IDF als Basis)

Auch hier beide Algorithmen mit zwei verschiedenen Tools. Gensim kommt hier ohnehin mit einem ganz anderen Output – keine Themenwolken, sondern nach Relevanz sortierte Wörter.

sklearn-Variante

  1. Website, Leser, Erstellung, Besser, Strategie
  2. Inhalte, Kunden, Artikel, Bieten, Mehrwert
  3. Text, Keywords, Keyword, Texte, Seite
  4. SEO, User, Zielgruppe, Finden, Traffic
  5. Website, Ranking, Inhalt, Besucher, Wissen
  6. Online, Optimierung, Unternehmen, SEO, Blog
  7. Content, Marketing, Content Marketing, SEO, SEO Content
  8. Suchmaschinen, Suchmaschinenoptimierung, Informationen, Zeit, Fragen
  9. Gut, Wichtig, Suchmaschine, Inhalte, Schreiben
  10. Googel, Thema, Links, Rankings, Einfach

gensim-Implementierung

  1. Content
  2. Marketing
  3. Google
  4. Toolbox
  5. Sistrix
  6. Texte
  7. Text
  8. Workshop
  9. Erstellung
  10. Inhalte
  11. Website
  12. Keyword
  13. OnPage
  14. Performance
  15. Seite
  16. Reputationsmanagement
  17. Optimierung
  18. Redakteur
  19. Kommunikation
  20. Suchmaschine
  21. Suchmaschinenoptimierung

Non zero matrix factorization mit sklearn

AUCH NMF zerlegt den gesamten Input in einige ganz gute Themenbereiche, die man in irgendeiner Form behandeln sollte. Wie man das macht, ist eine andere Frage. Diese Wörter einfach nur in den gleichen Text reinknallen, ist nicht unbedingt sinnvoll – und auch nicht der Sinn solcher Analysen.

  1. Content, SEO Content, Duplicate, Dupicate Content, Erstellung
  2. Google, Ranking, Seiten, User, Rankings
  3. SEO, SEO Content, Suchmaschnenoptimierung, Optimierung, 2017
  4. Inhalte, Suchmaschinen, Zielgruppe, Nutzer
  5. Marketing, Content Marketing, Online, Online Marketing, Content
  6. Keywords, Ranking, Wichtig, Suchmaschinen, Nutzern
  7. Seite, Suchmaschinen, Ranking, Besucher, Suchmaschinenoptimierung
  8. Texte, SEO Texte, Schreiben, Online
  9. Text, Keyword, Gut, Suchmaschinen, Inhalt

FastICA mit sklearn

Auch die schnelle Implementierung von ICA führt zu ganz passablen Ergebnissen.

  1. Duplicate Content, SEO, Content, Erstellung
  2. Keyword, 2017, User, Artikel
  3. Artikel, Antworten, 2017, Kunden, Inhalt
  4. Website, Suchmaschinen, Ranking, Besucher, Suchmaschinenoptimierung
  5. 2017, User, Unternehmen, Keywords
  6. SEO, SEO Content, Optimierung
  7. Kunden, Artikel, Wichtig, Zielgruppe
  8. Keywords, Keyword, Ranking, Suchmaschinen

IncrementalPCA mit sklearn

PCA – wie immer sehr solide bei großen Datenmengen – zerlegt den großen Corpus ebenfalls in recht ansehnliche Themenbereiche. Hier ist immer wieder der Blick in die Definition bzw. das eigentliche Einsatzgebiet von PCA lohnenswert.

  1. Content Marketing, SEO, SEO Content
  2. Seo Texte, Seo Content, Text
  3. Google SEO, SEO Content, Ranking, Adwords
  4. Inhalte, Website, Marketing, Blog
  5. Website, Content, Suchmaschinen, Suchmaschinenoptimierung, Thema
  6. Inhalte, Seite, Keywords, Content, Thema
  7. Texte, Keyword, Inhalte, SEO Texte, Seite

Was sagen uns diese Wörter und Themenwolken?

In erster Linie sind die verwendeten Methoden vor allem zur Dimensionsreduktion bzw. „Vereinfachung“ der Daten. Entsprechen kann man die Ergebnisse so interpretieren. Man sieht auf einen Blick, die wichtigsten Begriffe und Unterthemen innerhalb des analysierten Textkorpus. Im Fall von „Content SEO“ würde ich den Begriff als recht allgemein Einstufen, entsprechend sieht man keine Details, bekommt aber eine ganz gute Übersicht.

Verwendet man diese Methoden z.B. in sehr speziellen kleinen Nischen mit gezielt ausgewählten Dokumenten (und nicht den Top 100 von Google), so bekommt man viel schönere Themenkomplexe, die schnell dazu führen, dass man den eigenen Inhalt optimiert und verbessert, um zumindest die Informationsfülle zu erreichen, wie sie die Konkurrenz hat. Wer sich dann noch die Mühe macht und etwas bietet, was die Konkurrenz nicht hat und was gleichzeitig hilfreich für den Besucher ist, der hat gute Chancen auf solide Rankings.

Fazit

  1. Machine Learning, in Zusammenhang mit Content, erfordert viel Aufwand, noch bevor irgendwas an Modellierung erfolgt – und meist hat es gar nix mit Machine Learning zu tun. Hört sich einfach nur geiler an – ganz ehrlich – das, was die meisten als ML verkaufen, ist höhstens Preprocessing.
  2. Gleicher Algorithmus heißt nicht unbedingt gleiches Ergebnis (vergleicht mal die sklearn Ergebnisse mit denen der gensim-Implementierung).
  3. Die Performance der verschiedenen Modelle unterscheidet sich ganz erheblich.
  4. Zwischendurch ist einfach auch mal Mist – macht auch Sinn. Ich hab den Content direkt aus Google so übernommen. Wer klug ist, stellt sich seinen Corpus ganz gezielt zusammen 😉
  5. Es gibt mehr als nur TFIDF und LSI.
  6. Mittlerweile gibt es immer mehr Tools, die irgendwas mit Content und Machine Learning machen – da muss man irgendwo aufpassen und hinterfragen. Ich weiß, dass dem Laien/Redakteur/CEO die Ergebnisse einfach schön und ohne Umwege angezeigt werden müssen. Die Natur von Machine Learning bzw. Statistik sorgt aber dafür, dass je nach Parameter/Einstellung/Länge des „Trainings“ aka. Iterationen, die Ergebnisse sich ganz gewaltig unterscheiden. Mit etwas Glück sind die Ergebnisse auch recht solide (siehe meine Ergebnisse ohne viel Tuning),
    aber sie sind bei weitem nicht perfekt.

Mit Algorithmen dieser Art ist noch deutlich mehr möglich, als nur stupide Themenextraktion. So kannst du zum Beispiel ohne viel Aufwand gensim verwenden und nach dem Training feststellen, welche Dokumente am besten auf verwandte (im Textkorpus vorhandene) Suchbegriffe passen. Oder man nutzt einen ANN-Algorithmus (ich empfehle Spotify Annoy), um zu schauen, welche Dokumente sich untereinander stark ähneln. Konkret kann man seinen Text, der schon auf Position 9 in den SERPs ist, soweit anpassen, dass er ähnlicher wird, wie der, der auf Position 1 oder 2 ist.

Jetzt sollte man fragen: Was bringt es, wenn es einen Text gibt, der nichts neues reinbringt und im Grunde nur ähnlicher zu den Top-Position ist? Eigentlich nichts. Eigentlich kein Grund, warum der Text JETZT im Ranking höher steigen sollte. Meine Beobachtung mit meiner Fernseher-Seite zeigt aber, dass das aber der Fall ist. Vielleicht hängt es aber auch nur mit „frischem neuen Inhalt“ zusammen.

Wozu verwende ich den Spaß noch? Ich gebe Texte in Auftrag und gebe den Textern solche Analysen mit dazu, so haben sie schon mal eine grobe Vorstellung, um was es geht, welche Themen sie behandeln könnten. Wer sich in fremden Themengebieten bewegt, für den ist so etwas recht hilfreich. Für jemanden, der in dem Themengebiet – sagen wir „Content SEO“ zu Hause ist – der wird einen guten Text ohne den oben gezeigten Input problemlos selbst schreiben können. In dem Sinne sehe ich so etwas immer nur als Hilfestellung bzw. als Ergäzung.

Ahja…
Es gibt natürlich noch deutlich mehr Methoden und Algorithmen, gefühlt gibt es auch jede Woche eine neue Methode. Wer Interesse an dem Thema hat, wird nicht lange Suchen müssen und weit mehr finden, als die paar simplen Methoden, die ich hier vorgestellt habe.

Die wichtigsten Einflussfaktoren auf Google Rankings 2017/2018/2019

Es gibt diverse Versuche in diesem Bereich auf Basis von verschiedenen Features die Position in den Google SERPs vorauszusagen. Dabei werden Dinge, wie Ladegeschwindigkeit. Textlänge, Keyword in Title JA/NEIN, Backlinks, interne Links, Domainalter und was weiß ich noch alles verwendet. Dabei kommt dann meist raus, dass man damit nicht wirklich gut die Rankings voraussagen kann. Die Position in den Serps ist in solchen Analysen eben die Klasse, die man voraussagen will (ich verwende meist den Begriff „target“). Meist werden dann die Top 100 genommen und man hat ein Multiclass Klassifizierungsproblem. Dann nimmt man irgendein Decision Tree-Algorithmus, lässt den durchlaufen und kann für unbekannte URLs (bzw. deren Eigenschaften) die Position voraussagen. Ist natürlich total Mumpitz, funktioniert auch nur super schlecht. Damit diese aufwendigen Analysen nicht komplett für den Eimer sind, schaut man sich die Wichtigkeit der Features an. Das sieht exemplarisch so aus:

Unsere 6 Datensätze bestehen aus je drei Spalten. Prognostizieren wollen wir eine 0 oder eine 1 (features korrespontiert mit targets). Das ist unser stupider Trainingsdatensatz. Dir wird sofort auffallen, dass Feature 1 alleine ausreichen würde, um die Klassen vorauszusagen. Entsprechend ist das Ergebnis der print-Anweisung:

[ 1.0 0.0 0.0]

Feature 2 und 3 spielen gar keine Rolle.

Jetzt ändern wir den Input auf das folgende:

features = [
    [1, 1, 0],
    [1, 1, 0],
    [1, 1, 0],
    [0, 1, 0],
    [0, 1, 0],
    [0, 1, 1],
]

Was sieht man nun? Feature 2 wird keine Bedeutung haben. Aber in der letzten Reihe scheint Feature 3 zumindest eine kleine Rolle bei der Prognose von 0 bzw. 1 zu spielen. Entsprechend sieht nun die Wichtigkeit der drei Features aus:

[ 0.9 0.0 0.1]

JETZT stellt man sich das ganze in komplex vor und man kann mit VIELEN Daten folgende Aussagen treffen:

  • Die Länge des Titles spielt die größte Rolle
  • Die Seitengeschwindigkeit spielt keine Rolle
  • Anderer Bullshit bzgl. der Feature Importance

Jeder von euch hat so etwas auch schon gesehen: 12 important Google Ranking Factors: Data-driven study 2017 by SEMrush

Sowas ist ganz cool anzusehen, vor allem wenn es aufwendig visualisiert wurde (im Gegensatz zu meinem Artikel hier), hat aber nur bedingt Aussagekraft. Ich unterstelle, dass es niemanden mit dem Datensatz gibt, der so etwas wirklich analysieren könnte – Google ausgenommen. Die Faktoren sind natürlich viel komplexer, basieren mal auf personalisierten Daten, mal auf anonymen Daten. Mal wird etwas zufälliges in die SERPs gestreut, mal ist es abhängig vom Ort mal von sonstigen Faktoren.

Solche Ergebnisse darf man nicht verallgemeinern, vor allem nicht, wenn nur ein paar hunderttausend Keywords bzw. SERPs analysiert wurden. Je nach Branche, Queryklassifizierung kann die Feature Importance GANZ anders aussehen.

Lass uns mal zusammen was machen!

Dafür musst du mich allerdings schon noch kontaktieren!