Wie extrahiert man Schlüsselwörter aus Text in R?

Ein Bild, das die R-Schnittstelle mit einem hervorgehobenen Codeschnipsel zeigt, der für die Extraktion von Schlüsselwörtern aus Text verwendet wird.

Was ist eine Schlüsselwort-Extraktion?

Die Schlagwortextraktion extrahiert automatisch die am häufigsten verwendeten und wichtigsten Wörter und Ausdrücke aus einem Text, indem sie eine Textanalysetechnik verwendet. Es hilft, den Inhalt von Texten zusammenzufassen und die wichtigsten diskutierten Themen zu erkennen, was für Marktforschung, Stimmungsanalyse und andere Arten der Datenanalyse hilfreich ist. Diese Technik nutzt Satzeinbettungen und kann große Datenmengen in Echtzeit analysieren.

Das maschinelle Lernen der künstlichen Intelligenz (KI) mit der Verarbeitung natürlicher Sprache (NLP) (ein Bereich der Informatik) zerlegt die menschliche Sprache so, dass Maschinen sie verstehen und analysieren können. Die Extraktion von Schlüsselwörtern automatisiert Arbeitsabläufe wie die Markierung eingehender Umfrageantworten oder die Beantwortung dringender Kundenanfragen. Diese Technik nutzt linguistische und semantische Informationen über Texte und die darin enthaltenen Wörter. Es gibt verschiedene Algorithmen und Techniken des maschinellen Lernens, um die wichtigsten Schlüsselwörter in einem Text zu extrahieren.

Warum ist die Extraktion von Schlüsselwörtern wichtig?

Die Extraktion von Schlüsselwörtern und Keyphrasen ist aus mehreren Gründen wichtig:

  1. Suchmaschinen-Optimierung (SEO): Die Extraktion von Schlüsselwörtern hilft dabei, die wichtigsten Wörter und Ausdrücke in einem Dokument zu identifizieren, die zur Optimierung von Website-Inhalten für Suchmaschinen verwendet werden können.
  2. Textzusammenfassung: Die Extraktion von Schlüsselwörtern kann verwendet werden, um ein Dokument zusammenzufassen, indem die wichtigsten Wörter und Phrasen identifiziert werden, die das Hauptthema des Textes darstellen.
  3. Textklassifizierung: Die Extraktion von Schlüsselwörtern kann verwendet werden, um Textdokumente auf der Grundlage der darin enthaltenen Schlüsselwörter in verschiedene Kategorien einzuteilen. Dies ist nützlich für Anwendungen wie die Stimmungsanalyse.
  4. Informationsbeschaffung: Die Extraktion von Schlüsselwörtern kann dazu verwendet werden, die Genauigkeit von Information Retrieval Systemen zu verbessern, indem relevante Schlüsselwörter identifiziert werden, die mit der Suchanfrage eines Nutzers übereinstimmen.

Wie macht man eine Schlüsselwort-Extraktion in R?

Im Folgenden werden einige Techniken zur Extraktion von Schlüsselwörtern und ihre Anwendungsfälle vorgestellt:

  • Finden Sie Schlüsselwörter, indem Sie Wortarten markieren, um Substantive zu identifizieren.
  • Schlüsselwörter auf der Grundlage von Kollokationen und gemeinsamen Vorkommen finden
  • Schlüsselwörter auf der Grundlage des Textrank-Algorithmus finden
  • Schlüsselwörter auf der Grundlage von RAKE (Rapid Automatic Keyword Extraction) finden
  • Suche nach Schlüsselwörtern auf der Grundlage der Ergebnisse des Dependency Parsing (Ermittlung des Themas des Textes)
Extraktion von Schlüsselwörtern aus Text

Substantive extrahieren

Ein einfacher Weg, um Schlüsselwörter zu finden, ist die Betrachtung von Substantiven. Da jeder Begriff einen Parts of Speech-Tag hat, wenn Sie den Text mit dem udpipe-Paket kommentiert haben:

Code:

stats <- subset(x, upos %in% "NOUN") 
stats <- txt_freq(x = stats$lemma) 
library(lattice) 
stats$key <- factor(stats$key, levels = rev(stats$key)) 
barchart(key ~ freq, data = head(stats, 30), col = "cadetblue", main = "Most occurring nouns", xlab = "Freq")

Kollokation und gleichzeitige Vorkommnisse

Ermitteln Sie Mehrwortausdrücke, indem Sie entweder Kollokationen (aufeinander folgende Wörter), das gleichzeitige Auftreten von Wörtern innerhalb eines Satzes oder das gleichzeitige Auftreten von Wörtern, die sich in unmittelbarer Nähe zueinander befinden, betrachten.

Code:

Collocation (words following one another)

stats <- keywords_collocation(x = x,
term = "token", group = c("doc_id", "paragraph_id", "sentence_id"),
ngram_max = 4)

Co-occurrences: How frequent do words occur in the same sentence, in this case only nouns or adjectives

stats <- cooccurrence(x = subset(x, upos %in% c("NOUN", "ADJ")),
term = "lemma", group = c("doc_id", "paragraph_id", "sentence_id"))

## Co-occurrences: How frequent do words follow one another

stats <- cooccurrence(x = x$lemma,
relevant = x$upos %in% c("NOUN", "ADJ"))

## Co-occurrences: How frequent do words follow one another even if we would skip 2 words in between

stats <- cooccurrence(x = x$lemma,
relevant = x$upos %in% c("NOUN", "ADJ"), skipgram = 2)

Textrank (Wortnetz geordnet nach Google Pagerank)

Textrank ist eine weitere Extraktionsmethode für Schlüsselwörter. Das R-Paket textrank implementiert den Textrank-Algorithmus. Der Textrank-Algorithmus ermöglicht die Zusammenfassung von Texten und die Extraktion von Schlüsselwörtern. Um ein Wortnetz zu konstruieren, prüft der Algorithmus, ob Wörter aufeinander folgen. Der „Google Pagerank“-Algorithmus extrahiert relevante Wörter. Relevante Wörter, die aufeinander folgen, ergeben zusammen Schlüsselwörter. TextRank geht nicht vom Originaltext aus, da es sich um einen graphenbasierten Ansatz handelt.

Code:

stats <- textrank_keywords(x$lemma, relevant = x$upos %in% c("NOUN", "ADJ"), ngram_max = 8, sep = " ") 
stats <- subset(stats$keywords, ngram > 1 & freq >= 5) library(wordcloud) wordcloud(words = stats$keyword, freq = stats$freq)

Schnelle automatische Schlüsselwort-Extraktion: RAKE

RAKE ist der nächste grundlegende Algorithmus, ein Akronym für Rapid Automatic Keyword Extraction. RAKE ist ein domänenunabhängiger Algorithmus zur Extraktion von Schlüsselwörtern in der natürlichen Sprachverarbeitung.

  1. Die Berechnung einer Punktzahl für jedes Wort, das Teil eines kandidierenden Schlüsselworts ist, erfolgt durch
    • Unter den Wörtern der Schlagwortkandidaten prüft der Algorithmus, wie oft jedes Wort vorkommt und wie oft es mit anderen Wörtern zusammen vorkommt
    • jedes Wort erhält eine Punktzahl, die das Verhältnis zwischen dem Wortgrad (wie oft es mit anderen Wörtern zusammen vorkommt) und der Worthäufigkeit darstellt
  2. Ein RAKE-Score für das vollständige Kandidaten-Schlüsselwort wird berechnet, indem die Scores der einzelnen Wörter, die das Kandidaten-Schlüsselwort definieren, addiert werden

Code:

stats <- keywords_rake(x = x, term = "token", group = c("doc_id", "paragraph_id", "sentence_id"), relevant = x$upos %in% c("NOUN", "ADJ"), ngram_max = 4) 
head(subset(stats, freq > 3)) 

Verwenden Sie die Ausgabe des Dependency Parsing, um das nominale Subjekt und das dazugehörige Adjektiv zu ermitteln

Wenn Sie die Annotation mit udpipe ausgeführt haben, zeigt das Feld dep_rel an, wie die Wörter miteinander in Beziehung stehen. Ein Token wird über token_id und head_token_id mit dem übergeordneten Token verknüpft. Das Feld dep_rel gibt an, wie die Wörter miteinander verknüpft sind. Die Art der Beziehungen finden Sie unter http://universaldependencies.org/u/dep/index.html.

Code:

stats <- merge(x, x, by.x = c("doc_id", "paragraph_id", "sentence_id", "head_token_id"), by.y = c("doc_id", "paragraph_id", "sentence_id", "token_id"), all.x = TRUE, all.y = FALSE, suffixes = c("", "_parent"), sort = FALSE) 
stats <- subset(stats, dep_rel %in% "nsubj" & upos %in% c("NOUN") & upos_parent %in% c("ADJ")) 
stats$term <- paste(stats$lemma_parent, stats$lemma, sep = " ") 
stats <- txt_freq(stats$term) 
library(wordcloud) 
wordcloud(words = stats$key, freq = stats$freq, min.freq = 3, max.words = 100, random.order = FALSE, colors = brewer.pal(6, "Dark2"))

Was ist Text-Mining?

Text Mining in R bezieht sich auf den Prozess der Analyse und Extraktion von Erkenntnissen aus Textdaten unter Verwendung der Programmiersprache R und der zugehörigen Bibliotheken und Pakete. Text Mining umfasst mehrere Schritte, darunter Datenbereinigung und -vorverarbeitung, Merkmalsextraktion, statistische Modellierung und Visualisierung.
Das Paket tm bietet Funktionen zum Lesen von Textdaten, zum Bereinigen und Vorverarbeiten der Daten und zum Erstellen von Dokument-Term-Matrizen, die üblicherweise zur Analyse von Textdaten verwendet werden. Das Paket tidytext bietet Werkzeuge zur Umwandlung von Textdaten in ordentliche Datenrahmen.
Zu den gängigen Aufgaben im Textmining gehören Stimmungsanalyse, Themenmodellierung, Dokumentenclusterung und Textklassifizierung. Diese Aufgaben umfassen die Anwendung statistischer und maschineller Lernverfahren, um Muster und Beziehungen in Textdaten zu erkennen.

Was sind Schlüsselwort-Extraktions-APIs?

APIs zur Schlagwortextraktion sind Software-Schnittstellen, die es Entwicklern ermöglichen, mithilfe von vorgefertigten Algorithmen und maschinellen Lernmodellen Schlagwörter und Schlüsselsätze aus Texten zu extrahieren. Diese APIs bieten eine benutzerfreundliche und skalierbare Lösung für die Automatisierung des Prozesses der Schlagwortextraktion, ohne dass Entwickler ihre eigenen Modelle erstellen und trainieren müssen.

Was ist R?

R ist eine Open-Source-Programmiersprache und Softwareumgebung für statistische Berechnungen, Datenanalysen und Grafiken. R wird in Wissenschaft, Forschung und Industrie häufig für Aufgaben wie statistische Modellierung, Datenvisualisierung, maschinelles Lernen und Data Mining verwendet. Es hat Schnittstellen zu anderen Programmiersprachen wie Python und C++. Ausführlichere Informationen finden Sie in den Online-Tutorials auf GitHub.

Häufig gestellte Fragen

Was ist CSV?

CSV steht für „Comma-Separated Values“ (kommagetrennte Werte). Es handelt sich um ein Dateiformat, das Daten in einem Klartextformat speichert und austauscht, wobei jede Zeile einen Datensatz und jede Spalte ein Feld oder Attribut des Datensatzes darstellt. In der ersten Zeile einer CSV-Datei werden in der Regel die Spaltenüberschriften gespeichert, die eine Bezeichnung für jedes Feld des Datensatzes enthalten.

Was ist TF-IDF?

TF-IDF steht für „Term Frequency-Inverse Document Frequency“. Es handelt sich um eine numerische Statistik, die die Bedeutung eines Begriffs in einem Dokumentenkorpus widerspiegelt. TF-IDF wird häufig in den Bereichen Text Mining, Information Retrieval und natürliche Sprachverarbeitung eingesetzt.

Was sind Stoppwörter?

Stoppwörter sind häufig vorkommende Wörter, die bei der Verarbeitung natürlicher Sprache (NLP) ausgeschlossen werden, weil sie bei der Textanalyse wenig Bedeutung haben. Beispiele für Stoppwörter sind „der“, „und“, „von“, „zu“, „in“, „ein“, „an“, „ist“ und „für“.

Teilen Sie den Beitrag:

KI auf dem neuesten Stand der Technik

Starten Sie jetzt mit Eskritor!

Verwandte Artikel

Bild eines Computerbildschirms, auf dem ein Gespräch mit GPT-3 zu sehen ist, überlagert mit Diagrammen, die die Sprachverarbeitungsschritte der KI veranschaulichen
Eskritor

Wie funktioniert GPT-3?

Die folgenden Schritte erläutern, wie GPT-3 funktioniert, um Antworten zu erzeugen: Warum ist GPT-3 nützlich? Hier ist eine Liste von Gründen, warum GPT-3 nützlich ist: Was ist die Geschichte von

Ein visuelles Diagramm mit Daten zu den Auswirkungen von KI auf den Arbeitsmarkt für Content-Autoren
Eskritor

Wird KI die Autoren von Inhalten ersetzen?

Ja, KI-Autoren können einige Autoren ersetzen, aber sie können niemals gute Autoren ersetzen. Sie wird bestimmte Arten von Schreibaufträgen ersetzen. KI-Inhaltsgeneratoren können grundlegende Inhalte generieren, die keine eigene Recherche oder

Eine visuelle Darstellung der ChatGPT-Architektur mit dem Transformer-Modell, das das Sprachverständnis und die Generierungsfähigkeiten ermöglicht
Eskritor

Wie funktioniert ChatGPT?

Auf einer hohen Ebene ist ChatGPT ein Deep-Learning-Modell, das ein neuronales Netzwerk verwendet, um menschenähnlichen Text zu erzeugen. Die spezielle Version des Modells, ChatGPT-3, basiert auf einer Technik namens Transformator-Architektur.