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

Connected

Cvičení

Změna n-gramů

Dosud jsme vytvářeli TDM a DTM výhradně z jednotlivých slov. Výchozí nastavení pracuje s unigramy, ale můžeš se zaměřit i na tokeny tvořené dvěma nebo více slovy. To ti může pomoci odhalit užitečné fráze, které přinesou nové poznatky nebo zlepší predikční vlastnosti pro algoritmus strojového učení.

Níže uvedená funkce využívá balíček RWeka k vytvoření trigramových (tříslovných) tokenů: min i max jsou nastaveny na 3.

tokenizer <- function(x) {
  NGramTokenizer(x, Weka_control(min = 3, max = 3))
}

Vlastní funkci tokenizer() pak lze předat do funkcí TermDocumentMatrix nebo DocumentTermMatrix jako dodatečný parametr:

tdm <- TermDocumentMatrix(
  corpus, 
  control = list(tokenize = tokenizer)
)

Pokyny

100 XP

Objekt corpus byl předem zpracován stejným způsobem jako dříve, tentokrát na základě tweetů o chardonnay. Výsledný objekt text_corp je dostupný v tvém pracovním prostředí.

  • Vytvoř funkci tokenizer podobnou té výše, která bude generovat 2-slovné bigramy.
  • Vytvoř unigram_dtm zavoláním funkce DocumentTermMatrix() na text_corp bez použití funkce tokenizer().
  • Vytvoř bigram_dtm zavoláním funkce DocumentTermMatrix() na text_corp s funkcí tokenizer(), kterou jsi právě vytvořil/a.
  • Prohlédni si unigram_dtm a bigram_dtm. Který z nich obsahuje více termínů?