n-gram’leri değiştirme
Şimdiye kadar yalnızca tek kelimeler kullanarak TDM ve DTM oluşturduk. Varsayılan ayar unigram üretmektir, ancak iki ya da daha fazla kelime içeren token’lara da odaklanabilirsin. Bu, ek içgörüler sağlayan faydalı ifadeleri çıkarmaya ya da bir machine learning algoritması için daha iyi öngörü niteliği taşıyan öznitelikler elde etmene yardımcı olabilir.
Aşağıdaki fonksiyon RWeka paketini kullanarak trigram (üç kelimelik) token’lar oluşturur: min ve max her ikisi de 3 olarak ayarlanmıştır.
tokenizer <- function(x) {
NGramTokenizer(x, Weka_control(min = 3, max = 3))
}
Ardından, özelleştirilmiş tokenizer() fonksiyonu ek bir parametre olarak TermDocumentMatrix veya DocumentTermMatrix fonksiyonlarına aktarılabilir:
tdm <- TermDocumentMatrix(
corpus,
control = list(tokenize = tokenizer)
)
Bu egzersiz
R ile Bag-of-Words ile Metin Madenciliği
kursunun bir parçasıdırEgzersiz talimatları
Bir corpus, chardonnay tweet’leri kullanılarak daha önce olduğu gibi ön işleme tabi tutuldu. Ortaya çıkan text_corp nesnesi çalışma alanında mevcut.
- Yukarıdakine benzer şekilde 2 kelimelik bigramlar oluşturan bir
tokenizerfonksiyonu yaz. tokenizer()fonksiyonunu kullanmadantext_corpüzerindeDocumentTermMatrix()çağırarakunigram_dtmoluştur.- Az önce yazdığın
tokenizer()fonksiyonunu kullanaraktext_corpüzerindeDocumentTermMatrix()ilebigram_dtmoluştur. unigram_dtmvebigram_dtm’yi incele. Hangisinde daha fazla terim var?
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Make tokenizer function
___ <- function(x) {
___(___, ___(___, ___))
}
# Create unigram_dtm
___ <- ___(___)
# Create bigram_dtm
___ <- ___(
___,
___
)
# Print unigram_dtm
___
# Print bigram_dtm
___