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, kursun bir parçasıdır
R ile Bag-of-Words ile Metin Madenciliği
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Make tokenizer function
___ <- function(x) {
___(___, ___(___, ___))
}
# Create unigram_dtm
___ <- ___(___)
# Create bigram_dtm
___ <- ___(
___,
___
)
# Print unigram_dtm
___
# Print bigram_dtm
___