1. Learn
  2. /
  3. Courses
  4. /
  5. Khai phá văn bản với Bag-of-Words trong R

Connected

Exercise

Thay đổi n-grams

Cho đến giờ, bạn mới chỉ tạo TDM và DTM từ các từ đơn. Mặc định là dùng unigram, nhưng bạn cũng có thể tập trung vào các token gồm hai từ trở lên. Cách này giúp trích xuất các cụm từ hữu ích để có thêm insight hoặc tạo ra thuộc tính dự đoán tốt hơn cho một thuật toán Machine Learning.

Hàm bên dưới dùng gói RWeka để tạo các token trigram (ba từ): cả min và max đều đặt là 3.

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

Sau đó, hàm tokenizer() đã tùy biến có thể được truyền vào các hàm TermDocumentMatrix hoặc DocumentTermMatrix như một tham số bổ sung:

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

Instructions

100 XP

Một corpus đã được tiền xử lý như trước với các tweet về chardonnay. Đối tượng text_corp đã có sẵn trong không gian làm việc của bạn.

  • Tạo hàm tokenizer như trên để tạo bigram 2 từ.
  • Tạo unigram_dtm bằng cách gọi DocumentTermMatrix() trên text_corp mà không dùng hàm tokenizer().
  • Tạo bigram_dtm bằng DocumentTermMatrix() trên text_corp với hàm tokenizer() bạn vừa tạo.
  • Kiểm tra unigram_dtm và bigram_dtm. Cái nào có nhiều term hơn?