Začněte nyníZačněte zdarma

Stemming slov a doplnění základových tvarů ve větě

Pro toto cvičení použijeme jako dokument následující větu:

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

Tato věta obsahuje stejné tři formy slova „complicate", které jsme viděli v předchozím cvičení. Rozdíl je v tom, že i kdybys na tuto větu zavolal/a stemDocument(), funkce by ji vrátila beze změny – žádný stemming by neproběhl. Vyzkoušej to v konzoli a sám/sama se přesvědč. Nezapomeň zahrnout i interpunkci.

Děje se to proto, že stemDocument() bere celou větu jako jedno slovo. Jinými slovy, náš dokument je znakový vektor délky 1, místo délky n, kde n je počet slov v dokumentu. Aby to fungovalo správně, nejprve odstraníme interpunkci pomocí funkce removePunctuation(), kterou jsi se naučil/a v jednom z předchozích cvičení. Pak použijeme strsplit(), abychom rozložili znakový vektor délky 1 na vektor délky n, zabalíme ho do unlist() a teprve poté provedeme stemming a zpětné doplnění tvarů.

Nevadí, pokud ti to přijde trochu zmatené – pojďme si celý postup projít krok za krokem!

Toto cvičení je součástí kurzu

Dolování textu metodou Bag-of-Words v R

Zobrazit kurz

Pokyny k cvičení

Dokument text_data a doplňovací slovník comp_dict jsou načtené ve tvém pracovním prostředí.

  • Odstraň interpunkci z text_data pomocí removePunctuation() a výsledek ulož do rm_punc.
  • Zavolej strsplit() na rm_punc s argumentem split nastaveným na " ". Celé to obal do unlist() a výsledek ulož do n_char_vec.
  • Použij stemDocument() k provedení stemmingu slov na n_char_vec a výsledek ulož do stem_doc.
  • Vytvoř complete_doc tak, že zpětně doplníš základové tvary ve svém stemmovaném dokumentu pomocí stemCompletion() s comp_dict jako referenčním korpusem.

Odpovídají stem_doc a complete_doc tomu, co jsi očekával/a?

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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
Upravit a spustit kód