1. Nauka
  2. /
  3. Kursy
  4. /
  5. Eksploracja tekstu metodą Bag-of-Words w R

Connected

ćwiczenie

Zmiana n-gramów

Do tej pory tworzyliśmy macierze TDM i DTM wyłącznie na podstawie pojedynczych słów. Domyślnie używane są unigramy, ale możesz też skupić się na tokenach złożonych z dwóch lub więcej słów. Takie podejście pozwala wyodrębniać użyteczne frazy, które dostarczają dodatkowych spostrzeżeń lub poprawiają jakość cech predykcyjnych w algorytmach uczenia maszynowego.

Poniższa funkcja korzysta z pakietu RWeka, aby tworzyć trigramy (tokeny trzywyrazowe): min i max są ustawione na 3.

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

Następnie niestandardową funkcję tokenizer() można przekazać do funkcji TermDocumentMatrix lub DocumentTermMatrix jako dodatkowy parametr:

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

Instrukcje

100 XP

Obiekt corpus został wstępnie przetworzony jak poprzednio na podstawie tweetów o chardonnay. Wynikowy obiekt text_corp jest dostępny w twoim środowisku.

  • Utwórz funkcję tokenizer podobną do powyższej, która generuje bigramy (2-wyrazowe).
  • Utwórz unigram_dtm, wywołując DocumentTermMatrix() na obiekcie text_corp bez użycia funkcji tokenizer().
  • Utwórz bigram_dtm, wywołując DocumentTermMatrix() na obiekcie text_corp z funkcją tokenizer(), którą właśnie utworzyłeś.
  • Sprawdź unigram_dtm i bigram_dtm. Który z nich zawiera więcej terminów?