MulaiMulai sekarang secara gratis

Mengubah n-gram

Sejauh ini, kita hanya membuat TDM dan DTM menggunakan kata tunggal. Bawaan (default)-nya adalah membuatnya dengan unigram, tetapi Anda juga dapat berfokus pada token yang berisi dua kata atau lebih. Ini dapat membantu mengekstrak frasa yang berguna yang menghasilkan wawasan tambahan atau memberikan atribut prediktif yang lebih baik untuk algoritma machine learning.

Fungsi di bawah ini menggunakan paket RWeka untuk membuat token trigram (tiga kata): min dan max keduanya disetel ke 3.

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

Kemudian fungsi tokenizer() yang dikustomisasi dapat diteruskan ke fungsi TermDocumentMatrix atau DocumentTermMatrix sebagai parameter tambahan:

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

Latihan ini adalah bagian dari kursus

Text Mining dengan Bag-of-Words di R

Lihat Kursus

Petunjuk latihan

Sebuah corpus telah dipraproses seperti sebelumnya menggunakan tweet tentang chardonnay. Objek hasilnya, text_corp, tersedia di workspace Anda.

  • Buat fungsi tokenizer seperti di atas yang menghasilkan bigram 2-kata.
  • Buat unigram_dtm dengan memanggil DocumentTermMatrix() pada text_corp tanpa menggunakan fungsi tokenizer().
  • Buat bigram_dtm menggunakan DocumentTermMatrix() pada text_corp dengan fungsi tokenizer() yang baru Anda buat.
  • Periksa unigram_dtm dan bigram_dtm. Yang manakah yang memiliki lebih banyak term?

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Make tokenizer function 
___ <- function(x) {
  ___(___, ___(___, ___))
}

# Create unigram_dtm
___ <- ___(___)

# Create bigram_dtm
___ <- ___(
  ___,
  ___
)

# Print unigram_dtm
___

# Print bigram_dtm
___
Edit dan Jalankan Kode