LoslegenKostenlos loslegen

Word Stemming und Stem Completion an einem Satz

Betrachte für diese Übung den folgenden Satz als unser Dokument:

"In a complicated haste, Tom rushed to fix a new complication, too complicatedly."

Dieser Satz enthält die gleichen drei Formen des Wortes „complicate“, die wir in der vorherigen Übung gesehen haben. Der Unterschied hier ist, dass selbst wenn du stemDocument() auf diesen Satz anwendest, der Satz unverändert zurückgegeben wird, ohne Wörter zu „stemm(en)“. Probier es kurz in der Konsole aus. Achte darauf, die Satzzeichen mit einzuschließen.

Das passiert, weil stemDocument() den gesamten Satz als ein einziges Wort behandelt. Anders gesagt: Unser Dokument ist ein Zeichenkettenvektor der Länge 1 statt der Länge n, wobei n der Anzahl der Wörter im Dokument entspricht. Um dieses Problem zu lösen, entfernen wir zuerst die Satzzeichen mit der Funktion removePunctuation(), die du vor ein paar Übungen kennengelernt hast. Dann wenden wir strsplit() auf diesen Zeichenkettenvektor der Länge 1 an, sodass er Länge n erhält, unlist()-en das Ergebnis und führen anschließend Stemming und erneute Vervollständigung durch.

Keine Sorge, falls das verwirrend klang. Gehen wir den Prozess Schritt für Schritt durch!

Diese Übung ist Teil des Kurses

Text Mining mit Bag-of-Words in R

Kurs anzeigen

Anleitung zur Übung

Das Dokument text_data und das Vervollständigungswörterbuch comp_dict sind in deinem Workspace geladen.

  • Entferne die Satzzeichen in text_data mit removePunctuation() und weise das Ergebnis rm_punc zu.
  • Rufe strsplit() auf rm_punc mit dem Argument split gleich " " auf. Verschachtle dies in unlist() und weise das Ergebnis n_char_vec zu.
  • Verwende erneut stemDocument(), um Wortstemming auf n_char_vec durchzuführen, und weise das Ergebnis stem_doc zu.
  • Erstelle complete_doc, indem du dein gestemmtes Dokument mit stemCompletion() wieder vervollständigst und comp_dict als Referenzkorpus verwendest.

Entsprechen stem_doc und complete_doc deinen Erwartungen?

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Remove punctuation: rm_punc
rm_punc <- ____

# Create character vector: n_char_vec
n_char_vec <- unlist(___(___, split = " "))

# Perform word stemming: stem_doc
stem_doc <- ___

# Print stem_doc
stem_doc

# Re-complete stemmed document: complete_doc
complete_doc <- ___

# Print complete_doc
complete_doc
Code bearbeiten und ausführen