1. Učit se
  2. /
  3. Kurzy
  4. /
  5. Dolování textu metodou Bag-of-Words v R

Connected

Cvičení

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!

Pokyny

100 XP

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?