Verwendung von Python für NLP und semantisches SEO

Veröffentlicht: 2022-06-18
Verwendung von Python für NLP und semantisches SEO


Heutzutage erlebt SEO den Aufstieg von Konzepten wie semantischem SEO, Natural Language Processing (NLP) und Programmiersprachen. Apropos, Python ist eine große Hilfe für die Optimierung und die meisten langweiligen Aufgaben, die Sie vielleicht während der Arbeit ausführen möchten. Keine Sorge, das Codieren kann auf den ersten Blick entmutigend erscheinen, aber dank einiger spezialisierter Bibliotheken ist es viel einfacher, als Sie denken.

Wir haben bereits die semantische Suche sowie die thematische Autorität besprochen, und Python ist eine gute Lösung, um neue Erkenntnisse zu erforschen und für schnellere Berechnungen im Vergleich zum üblichen Excel-Workflow.

Es ist kein Geheimnis, dass Google sich beim Abrufen von Ergebnissen stark auf NLP verlässt, und das ist der Hauptgrund, warum wir daran interessiert sind, die natürliche Sprache zu erforschen, um mehr Hinweise darauf zu erhalten, wie wir unsere Inhalte verbessern können.

In diesem Beitrag erkläre ich:
  • Die wichtigsten semantischen SEO-Aufgaben, die Sie in Python ausführen können
  • Codeschnipsel zur Implementierung
  • Kurze Praxisbeispiele für den Einstieg
  • Anwendungsfälle und Motivationen dahinter
  • Fallstricke und Fallen des blinden Kopierens von Code zur Entscheidungsfindung

Achtung, dieses Tutorial soll einem nicht-technischen Publikum zeigen, wie man Python nutzt. Daher gehen wir nicht auf jede Technik im Detail ein, da dies zeitaufwändig wäre.

Die aufgeführten Beispiele sind nur ein Teil der Fülle von Techniken, die Sie in einer Programmiersprache implementieren können. Ich liste nur auf, was meiner Meinung nach am relevantesten für Leute ist, die anfangen und sich für SEO interessieren.

Ziel ist es, die Vorteile des Hinzufügens von Python zu Ihrem Workflow zu veranschaulichen, um einen Vorteil für semantische SEO-Aufgaben wie das Extrahieren von Entitäten, das Analysieren von Sätzen oder das Optimieren von Inhalten zu erzielen.

Es sind keine besonderen Python-Kenntnisse erforderlich, höchstens einige grundlegende Konzepte. Die Beispiele werden in diesem Google Colab-Link gezeigt, da es einfach und sofort zu verwenden ist.





NLP- und semantische SEO-Aufgaben in Python



Es gibt viele Programmiersprachen, die Sie lernen können, Javascript und Python sind für SEO-Spezialisten am besten geeignet. Einige von Ihnen fragen sich vielleicht, warum wir uns für Python statt R entscheiden, einer beliebten Alternative für Data Science.

Der Hauptgrund liegt in der SEO-Community, die sich mit Python, der idealen Sprache für Scripting-, Automatisierungs- und NLP-Aufgaben, wohler fühlt. Sie können auswählen, was Sie möchten, auch wenn wir in diesem Tutorial nur Python zeigen werden.



Named Entity Recognition (NER)



Eines der wichtigsten Konzepte für SEO ist die Fähigkeit, Entitäten in einem Text zu erkennen, dh Named Entity Recognition (NER). Sie fragen sich vielleicht, warum Sie sich für diese Technik interessieren sollten, wenn Google sie bereits verwendet.

Die Idee hier ist herauszufinden, welche Entitäten auf einer bestimmten Seite am häufigsten vorkommen, um zu verstehen, was Sie in Ihren eigenen Text aufnehmen sollten.

Sie können für diese Aufgabe entweder spaCy oder die Google NLP-API verwenden. Beide haben Vor- und Nachteile, obwohl Sie in diesem Beispiel spaCy sehen, eine sehr beliebte Bibliothek für NLP, ideal für NER.





Wie Sie im Notizbuch sehen können, ist Ihr Text jetzt mit den Entitäten beschriftet, und dies ist sehr gut, um zu verstehen, was Ihre Konkurrenten verwenden. Idealerweise können Sie dies mit Scraping kombinieren, um den sinnvollen Teil des Textes zu extrahieren und alle Entitäten aufzulisten.

Dies kann auch auf ein ganzes SERP ausgedehnt werden, um die nützlichsten Entitäten zu erhalten und zu verstehen, was in Ihrer Kopie enthalten sein soll. Es gibt jedoch noch eine andere nützliche Anwendung: Sie können eine Wikipedia-Seite durchsuchen, um die Liste der Entitäten zu erhalten, und dann basierend auf dem, was Sie gefunden haben, eine thematische Karte erstellen.

Es funktioniert sehr gut mit langen Wikipedia-Seiten und in englischsprachigen Märkten, ich habe es in anderen Sprachen getestet, aber normalerweise ist Wikipedia nicht so vollständig.

NER ist eine grundlegende Technik mit interessanten Anwendungen und ich kann Ihnen garantieren, dass es bei richtiger Anwendung eine Wende bringt. Ideal für Szenarien, in denen Sie nicht wissen, welche Entitäten Sie in eine Einführung einfügen sollen, und Sie es herausfinden müssen, oder um thematische Karten zu planen.



Wortart-Tagging (POS-Tagging)



Semantisches SEO hat ein besonderes Interesse an den Wortarten, die Begriffe in Sätzen haben. Wie einige von Ihnen vielleicht schon erraten haben, kann die Position eines Wortes seine Bedeutung beim Extrahieren von Entitäten ändern.

POS-Tagging ist praktisch, wenn Sie Mitbewerber oder Ihre eigene Website analysieren, um die Struktur von Definitionen für Featured Snippets zu verstehen oder mehr Details in eine ideale Satzreihenfolge zu bringen. Python bietet große Unterstützung für diese Aufgabe, wiederum in Form der spaCy-Bibliothek, Ihr bester Freund für die meisten Ihrer NLP-Aufgaben.

Zusammenfassend lässt sich sagen, dass POS-Tagging eine leistungsstarke Idee ist, um zu verstehen, wie Sie Ihre Sätze auf der Grundlage von vorhandenem Material verbessern können oder wie andere es tun.







Fragen Sie den Knowledge Graph ab



Wie bereits in einem anderen Artikel über den Knowledge Graph besprochen, sollten Sie mit Entitäten und dem Herstellen von Verbindungen vertraut sein. Apropos, es ist ziemlich nützlich zu wissen, wie man den Knowledge Graph von Google abfragt, und es ist ziemlich einfach.

Die advertools-Bibliothek bietet eine einfache Funktion, mit der Sie dies tun können, indem Sie Ihren API-Schlüssel als Eingabe verwenden. Das Ergebnis ist ein Datenrahmen, der einige Entitäten enthält, die sich auf Ihre Abfrage beziehen (falls vorhanden), zusammen mit einem Konfidenzwert, den Sie nicht interpretieren müssen.

Die nützliche Lektion hier ist, Definitionen und verwandte Entitäten zu erhalten, falls vorhanden. Der Knowledge Graph ist eine große Datenbank, die Entitäten und ihre Beziehungen speichert, es ist Googles Weg, Verbindungen zu verstehen und die Wurzel für semantisches SEO. Tatsächlich ist dies eine der Voraussetzungen, um in einer langfristigen Strategie aktuelle Autorität zu erlangen.

Manchmal reicht der Knowledge Graph allein nicht aus und deshalb zeige ich Ihnen eine andere API, die paarweise gut funktioniert.





Fragen Sie die Google Trends (inoffizielle) API ab



Google Trends kann Teil Ihrer Content-Strategie sein, um neue Trends zu erkennen oder zu beurteilen, ob es sich lohnt, über ein bestimmtes Thema zu sprechen, bei dem Sie sich nicht so sicher sind. Angenommen, Sie möchten Ihr Content-Netzwerk um neue Ideen erweitern, sind aber noch nicht überzeugt. Google Trends kann Ihnen bei der Entscheidung behilflich sein.

Obwohl es keine offizielle Google-API gibt, können wir eine inoffizielle verwenden, die das abdeckt, was wir wollen. Der Schlüssel hier ist, eine Liste von Schlüsselwörtern anzugeben, einen Zeitrahmen auszuwählen und einen Ort auszuwählen.

Top- und aufstrebende Keywords sind großartig, um zu verstehen, was wir für unsere Content-Strategie brauchen. Rising bezieht sich auf neue Trends und Suchanfragen, die Sie im Auge behalten müssen. Manchmal finden Sie goldene Gelegenheiten, insbesondere wenn Ihr Fokus auf News SEO liegt.

Im Gegenteil, Top-Keywords sind im Laufe der Zeit konsistenter und stabiler, sie geben Ihnen in den meisten Fällen Hinweise auf Ihre Themenkarten.

Meine Empfehlung ist, mit dieser API zu spielen, wenn Sie aufgrund saisonaler Verkäufe auch in der E-Commerce-Welt arbeiten. Google Trends ist ein enormer Vorteil für Nachrichten und saisonale Inhalte, die API kann das Erlebnis für Sie nur verbessern.





Themenmodellierung (Latente Dirichlet Allocation - LDA)



Eine der interessantesten Anwendungen von NLP ist die Themenmodellierung, bei der Themen aus einer Reihe von Wörtern erkannt werden. Dies ist eine gute Möglichkeit, um zu sehen, worüber eine große Seite spricht, und ob es möglich ist, Unterthemen zu erkennen. Es ist möglich, diesen Algorithmus auf einer ganzen Website auszuführen, obwohl dies rechenintensiv wäre und den Rahmen dieses Tutorials sprengen würde.

Ich zeige Ihnen ein kurzes Beispiel mit dem über die Bertopic-Bibliothek implementierten LDA-Algorithmus, um unseren Arbeitsablauf zu vereinfachen:





Themenmodellierung ist eine sehr unterschätzte Methode, um ein Content-Netzwerk oder sogar Teile einer bestimmten Website zu bewerten, und deshalb sollten Sie einige Zeit damit verbringen, tiefer in LDA einzusteigen!

Zusammenfassend lässt sich sagen, dass LDA eine Möglichkeit ist, eine gesamte Website oder nur einige ihrer Abschnitte zu beurteilen. Daher kann es als eine Methode angesehen werden, um den Inhalt von Wettbewerbern in Ihrer Nische zu verstehen, vorausgesetzt, Sie haben genügend Rechenleistung.



N-Gramm



Ein N-Gramm kann als zusammenhängende Folge von Wörtern, Silben oder Buchstaben betrachtet werden. Ich werde Ihnen zeigen, wie Sie N-Gramme aus einem Korpus in Python erstellen, ohne zu sehr ins Detail zu gehen. Daher wird unsere Einheit aus Wörtern bestehen, da wir wissen möchten, welche Wortkombinationen in einem Korpus am häufigsten vorkommen.

N-Gramme, die auf zwei Wörtern basieren, werden Bigramme genannt (Trigramme, wenn drei) und so weiter. Sie können das Colab-Notizbuch überprüfen, um sich ein Bild davon zu machen, was wir zu erreichen versuchen.





Jetzt haben Sie eine klare Vorstellung davon, was die häufigsten Kombinationen in einem Text sind, und Sie sind bereit, Ihren Inhalt zu optimieren. Sie können auch verschiedene Kombinationen ausprobieren, z. B. 4-Gramm oder 5-Gramm. Da Google auf die satzbasierte Indexierung setzt, ist es sinnvoller, beim Thema Onpage-SEO eher Sätze als Schlüsselwörter zu berücksichtigen.

Auch deshalb sollten Sie nie in einzelnen Keywords denken, sondern in der Erkenntnis, dass Ihr Text für menschliche Leser geeignet sein sollte. Und was gibt es Schöneres, als ganze Sätze zu optimieren statt einzelne Begriffe?

N-Gramme sind ein wiederkehrendes Konzept im NLP und das aus gutem Grund. Testen Sie das Skript mit einigen Seiten und testen Sie verschiedene Kombinationen, das Ziel hier ist, wertvolle Informationen zu finden.



Textgenerierung



Das aktuelle SEO-Buzz dreht sich um generierte Inhalte, es gibt viele Online-Tools, mit denen Sie Text automatisch erstellen können. Das ist nicht so einfach, wie es scheint, und das Material fragt immer noch nach Korrekturen, bevor es live geht.

Python ist in der Lage, Inhalte oder sogar kurze Snippets zu generieren, aber wenn Sie es einfach wollen, ist es sehr empfehlenswert, sich auf Tools zu verlassen.

Ich werde Ihnen ein einfaches Beispiel mit der Openai-Bibliothek zeigen, die Schritte zum Erstellen eines Kontos befinden sich in Google Colab.

Wie Sie sehen können, ist der Code hier ziemlich einfach und es gibt nichts Besonderes zu kommentieren. Möglicherweise möchten Sie mit einigen Parametern spielen, um den Unterschied in den Ergebnissen zu überprüfen, aber wenn Sie Inhalte generieren möchten, gibt es Dienste, die keine Codierung erfordern.

Tatsächlich müssen Sie für die Verwendung von Open AI bezahlen. Wenn Sie also die Arbeit erledigen möchten, ist es besser, sich für andere kostenpflichtige Dienste zu entscheiden.



Clustering



Eine sehr nützliche Anwendung im SEO, eine der wichtigsten Techniken im Allgemeinen, um Ihren Workflow aufzuwerten. Wenn Sie wenig Zeit haben, konzentrieren Sie sich zuerst darauf, da es für den E-Commerce ziemlich robust ist und ein Geschenk des Himmels ist, um neue Produktkategorien zu entdecken.

Clustering erstellt Gruppen von etwas, um etwas hervorzuheben, das Sie normalerweise nicht sehen können. Es ist ein mächtiges Set von Techniken und es ist nicht so einfach, sinnvolle Ergebnisse damit zu erzielen. Aus diesem Grund werde ich ein kurzes Beispiel geben, das darauf abzielt, den Code für einen Algorithmus und einen möglichen Nachteil einer falschen Anwendung zu zeigen.

Content-Clustering ist ein Thema, das definitiv ein anderes Tutorial erfordert, um verwendet zu werden, da es ziemlich schwierig ist, einige Konzepte zu bekommen.

Sie können entweder Rank Ranger-Rank-Tracking-Daten oder Google Search Console-Daten verwenden, es spielt überhaupt keine Rolle. Wichtig ist, dass Sie Zeit sparen und neue Erkenntnisse gewinnen, selbst wenn Sie keine Ahnung von einer Website haben.

Es gibt viele Python-Skripte, Notebooks oder sogar Streamlit-Apps, die online verfügbar sind. Dieser Abschnitt soll Ihnen nur die Grundlagen beibringen.





Wir können sagen, dass es die beste Waffe in Ihrem Arsenal ist, wenn es um E-Commerce geht oder um unerforschte Themen auf Ihrer Website zu finden. Es ist leicht, Clustering mit Themenmodellierung zu verwechseln, da beide zu einem ähnlichen Ergebnis führen. Denken Sie jedoch daran, dass es sich beim Clustering um das Gruppieren von Schlüsselwörtern und nicht um Text handelt. Dies ist ein wesentlicher Unterschied.

Clustering ist äußerst wertvoll für diejenigen, die mit Kategorieseiten arbeiten, und für alle, die versuchen, neue Content-Möglichkeiten zu erkennen. Die Möglichkeiten hier sind nahezu unbegrenzt und Sie haben auch mehrere Optionen, lassen Sie uns in einige Algorithmen eintauchen:
  • Kbedeutet
  • DBscan
  • Graphen verwenden
  • Entfernung des Wortbewegers

Wenn Sie gerade erst anfangen, ist es am besten, entweder mit Kmeans oder DBscan zu beginnen. Letzteres erfordert nicht, dass Sie die optimale Anzahl von Clustern finden und ist aus diesem Grund eher für Plug-and-Play-Anwendungen geeignet.

Die Verwendung von Graphen ist eine Methode, um semantische Beziehungen zu erfassen, und auch eine großartige Möglichkeit, in Begriffen von Wissensgraphen zu denken. Andere Methoden wie Word Mover's Distance sind ausgezeichnet, aber komplex und erfordern zu viel Aufwand für einfachere Aufgaben.





Vorteile der Verwendung von Python für semantisches SEO



Python ist nicht für jeden ein Muss, es hängt von Ihrem Hintergrund ab und davon, was Sie werden möchten. Semantisches SEO ist der beste Ansatz, den Sie derzeit verfolgen können, und die Kenntnis einiger grundlegender Codierungen kann Ihnen sehr helfen, insbesondere beim Erlernen einiger Konzepte.

Es gibt einige Tools, die für diese Aufgaben geeignet sind und Ihnen viel Zeit und Kopfschmerzen ersparen können. Nichtsdestotrotz sind die Implementierung von Code von Grund auf und die Problemlösung wünschenswerte Fähigkeiten, die nur noch wertvoller werden können, wenn sich SEO in eine technischere Realität bewegt.

Darüber hinaus benötigen Sie für die Ausführung bestimmter Aufgaben auf jeden Fall Codierung, da es keine brauchbaren Alternativen gibt.

Die Vorteile von Python für semantisches SEO lassen sich wie folgt zusammenfassen:
  • Ein besseres Verständnis theoretischer Konzepte (z. B. Linguistik, Berechnungen und Logik)
  • Gelegenheit, Algorithmen praktisch zu studieren
  • Automatisierung von sonst unmöglichen Aufgaben
  • Neue Erkenntnisse und andere Sichtweisen auf SEO

Was oben aufgeführt ist, kann auf jede andere Programmiersprache angewendet werden, wir erwähnen Python, weil es derzeit die beliebteste in der SEO-Community ist.





Wie lange wird es dauern?



Darauf gibt es keine genaue Antwort, es hängt von Ihrer Konsistenz und Ihrem Hintergrund ab. Mein Vorschlag ist, jeden Tag etwas Kleines zu tun, bis Sie sich wohl fühlen. Es gibt viele gute Ressourcen online, also gibt es keine Ausreden, um mit dem Üben zu beginnen.

Nichtsdestotrotz ist das Erlernen von Python eine Sache, das Studium von NLP und semantischer SEO eine andere Geschichte. Es wird dringend empfohlen, zuerst die grundlegende Theorie zu verstehen und sie durch die richtige Praxis in Form zu halten.





Die nützlichsten Python-Bibliotheken für semantisches SEO



Es gibt mehr Bibliotheken als Sie denken, die bemerkenswerteste ist:
  • Werbung
  • geräumig
  • nltk
  • sklearn
  • Transformer
  • Abfragekat
  • Gensim
  • Bertopisch

Einige von ihnen wurden in diesem Lernprogramm nicht behandelt, da sie komplexere Konzepte beinhalten würden, die separate Artikel erfordern. Darüber hinaus werden fast alle von ihnen auch für allgemeine NLP-Aufgaben verwendet.

Eng verwandt mit diesen Bibliotheken ist das Web Scraping, das mit Hilfe von Bibliotheken wie BeautifulSoup, Requests und Scrapy problemlos durchgeführt werden kann.





Fazit



Wir haben einige der besten NLP-Techniken durchgesehen, die Sie in Python implementieren können, um Ihr semantisches SEO-Spiel zu verbessern.

Ein SEO-Spezialist muss nicht über umfassende Kenntnisse in Data Science verfügen, um die meisten der hier erwähnten Materialien zu verstehen. Sie sollten jedoch wissen, wie Algorithmen auf hohem Niveau funktionieren und wie Sie die Ausgabe interpretieren, um keine falschen Schlussfolgerungen zu ziehen!