Bild vom Herausgeber | Ideogramm
Textual content Mining hilft uns, aus großen Textmengen wichtige Informationen zu gewinnen. R ist ein nützliches Device für Textual content Mining, da es viele Pakete gibt, die für diesen Zweck entwickelt wurden. Diese Pakete helfen Ihnen, Textual content zu bereinigen, zu analysieren und zu visualisieren.
R-Pakete installieren und laden
Zuerst müssen Sie diese Pakete installieren. Sie können dies mit einfachen Befehlen in R tun. Hier sind einige wichtige Pakete, die installiert werden müssen:
- tm (Textual content Mining): Bietet Instruments für die Textvorverarbeitung und Textual content Mining.
- textclean: Wird zum Bereinigen und Vorbereiten von Daten für die Analyse verwendet.
- Wortwolke: Erzeugt Wortwolken-Visualisierungen von Textdaten.
- SchneeballC: Bietet Werkzeuge für die Wortstammerkennung (Wörter auf ihre Stammformen reduzieren)
- ggplot2: Ein weit verbreitetes Paket zum Erstellen von Datenvisualisierungen.
Installieren Sie die erforderlichen Pakete mit den folgenden Befehlen:
set up.packages("tm")
set up.packages("textclean")
set up.packages("wordcloud")
set up.packages("SnowballC")
set up.packages("ggplot2")
Laden Sie sie nach der Set up in Ihre R-Sitzung:
library(tm)
library(textclean)
library(wordcloud)
library(SnowballC)
library(ggplot2)
Datenerfassung
Textual content Mining erfordert Rohtextdaten. So können Sie eine CSV-Datei in R importieren:
# Learn the CSV file
text_data <- learn.csv("IMDB_dataset.csv", stringsAsFactors = FALSE)
# Extract the column containing the textual content
text_column <- text_data$evaluation
# Create a corpus from the textual content column
corpus <- Corpus(VectorSource(text_column))
# Show the primary line of the corpus
corpus((1))$content material
Textvorverarbeitung
Der Rohtext muss vor der Analyse gereinigt werden. Wir haben den gesamten Textual content in Kleinbuchstaben geändert und Satzzeichen und Zahlen entfernt. Dann entfernen wir gebräuchliche Wörter, die keine Bedeutung hinzufügen, und ordnen die verbleibenden Wörter ihren Grundformen zu. Zum Schluss bereinigen wir alle zusätzlichen Räume. Hier ist eine gängige Vorverarbeitungspipeline in R:
# Convert textual content to lowercase
corpus <- tm_map(corpus, content_transformer(tolower))
# Take away punctuation
corpus <- tm_map(corpus, removePunctuation)
# Take away numbers
corpus <- tm_map(corpus, removeNumbers)
# Take away stopwords
corpus <- tm_map(corpus, removeWords, stopwords("english"))
# Stem phrases
corpus <- tm_map(corpus, stemDocument)
# Take away white house
corpus <- tm_map(corpus, stripWhitespace)
# Show the primary line of the preprocessed corpus
corpus((1))$content material
Erstellen einer Dokument-Time period-Matrix (DTM)
Sobald der Textual content vorverarbeitet ist, erstellen Sie eine Doc-Time period-Matrix (DTM). Ein DTM ist eine Tabelle, die die Häufigkeit von Begriffen im Textual content zählt.
# Create Doc-Time period Matrix
dtm <- DocumentTermMatrix(corpus)
# View matrix abstract
examine(dtm)
Ergebnisse visualisieren
Die Visualisierung hilft dabei, die Ergebnisse besser zu verstehen. Wortwolken und Balkendiagramme sind beliebte Methoden zur Visualisierung von Textdaten.
Wortwolke
Eine beliebte Möglichkeit, Worthäufigkeiten zu visualisieren, ist die Erstellung einer Wortwolke. Eine Wortwolke zeigt die häufigsten Wörter in großen Schriftarten an. So lässt sich leicht erkennen, welche Begriffe wichtig sind.
# Convert DTM to matrix
dtm_matrix <- as.matrix(dtm)
# Get phrase frequencies
word_freq <- type(colSums(dtm_matrix), reducing = TRUE)
# Create phrase cloud
wordcloud(names(word_freq), freq = word_freq, min.freq = 5, colours = brewer.pal(8, "Dark2"), random.order = FALSE)
Balkendiagramm
Sobald Sie die Doc-Time period-Matrix (DTM) erstellt haben, können Sie die Worthäufigkeiten in einem Balkendiagramm visualisieren. Dadurch werden die in Ihren Textdaten am häufigsten verwendeten Begriffe angezeigt.
library(ggplot2)
# Get phrase frequencies
word_freq <- type(colSums(as.matrix(dtm)), reducing = TRUE)
# Convert phrase frequencies to an information body for plotting
word_freq_df <- knowledge.body(time period = names(word_freq), freq = word_freq)
# Kind the phrase frequency knowledge body by frequency in descending order
word_freq_df_sorted <- word_freq_df(order(-word_freq_df$freq), )
# Filter for the highest 5 most frequent phrases
top_words <- head(word_freq_df_sorted, 5)
# Create a bar chart of the highest phrases
ggplot(top_words, aes(x = reorder(time period, -freq), y = freq)) +
geom_bar(stat = "identification", fill = "steelblue") +
coord_flip() +
theme_minimal() +
labs(title = "High 5 Phrase Frequencies", x = "Phrases", y = "Frequency")
Themenmodellierung mit LDA
Latent Dirichlet Allocation (LDA) ist eine gängige Technik zur Themenmodellierung. Es findet versteckte Themen in großen Textdatensätzen. Das topicmodels-Paket in R hilft Ihnen bei der Verwendung von LDA.
library(topicmodels)
# Create a document-term matrix
dtm <- DocumentTermMatrix(corpus)
# Apply LDA
lda_model <- LDA(dtm, ok = 5)
# View matters
matters <- phrases(lda_model, 10)
# Show the matters
print(matters)
Abschluss
Textual content Mining ist eine leistungsstarke Methode, um Erkenntnisse aus Texten zu gewinnen. R bietet hierfür viele hilfreiche Instruments und Pakete. Sie können Ihre Textdaten einfach bereinigen und vorbereiten. Anschließend können Sie es analysieren und die Ergebnisse visualisieren. Sie können verborgene Themen auch mit Methoden wie LDA erkunden. Insgesamt vereinfacht R das Extrahieren wertvoller Informationen aus Textual content.
Jayita Gulati ist eine Enthusiastin für maschinelles Lernen und technische Redakteurin, angetrieben von ihrer Leidenschaft für die Entwicklung von Modellen für maschinelles Lernen. Sie hat einen Grasp-Abschluss in Informatik von der College of Liverpool.
Unsere High 3 Partnerempfehlungen
1. Bestes VPN für Ingenieure – 3 Monate kostenlos – Bleiben Sie on-line sicher mit einer kostenlosen Testversion
2. Bestes Projektmanagement-Device für Tech-Groups – Steigern Sie noch heute die Effizienz Ihres Groups
4. Bestes Passwortverwaltungstool für Tech-Groups – Zero-Belief- und Zero-Information-Sicherheit