Zipf yasasını nerede gözlemleyebilirsin?
Zipf, sözcük kullanımında keskin ve öngörülebilir bir düşüş gözlemlemiş olsa da, sen Zipf yasasına ikna olmayabilirsin. “Ben pek çok kelime biliyorum ve kendime özgü bir kelime dağarcığım var” diye düşünebilirsin. Haklı olabilirsin, ama çoğu insan için durum böyle değil! Bunu kanıtlamak için, “#sb” etiketini içeren 3 milyon tweet’ten bir görselleştirme oluşturalım. Unutma, bu görsel Zipf yasasına birebir uymuyor; tüm tweet’ler aynı hashtag’i içerdiğinden biraz kaymış bir dağılım var. Yine de oluşturacağın görsel, milyonlarca tweet arasında küçük bir sözcük çeşitliliğini gösteren keskin bir düşüş eğrisini takip ediyor. Doğal dil analizinde sözlükler kullanmanın arkasında bir miktar bilim var yani!
Bu egzersizde metricsgraphics paketini kullanacaksın. Yazar, %>% pipe operatörünü kullanmayı önerse de, grafiğin farklı yönlerini öğrenmek için görselleştirmeyi adım adım oluşturacaksın. metricsgraphics paketinin ana işlevi, JavaScript grafiğinin ilk adımı olan mjs_plot() fonksiyonudur. Bunu oluşturduktan sonra grafiğin üzerine başka katmanlar ekleyebilirsin.
%>% operatörünü kullanmadan bir metricsgraphics iş akışı örneği aşağıdadır:
metro_plot <- mjs_plot(data, x = x_axis_name, y = y_axis_name, show_rollover_text = FALSE)
metro_plot <- mjs_line(metro_plot)
metro_plot <- mjs_add_line(metro_plot, line_one_values)
metro_plot <- mjs_add_legend(metro_plot, legend = c('names', 'more_names'))
metro_plot
Bu egzersiz
R ile Duygu Analizi
kursunun bir parçasıdırEgzersiz talimatları
- Üst sıradaki sözcükleri görmek için
sb_wordsüzerindehead()kullan. - En büyük sözcük frekansını,
freq[1],ranksütununa bölerek yeni birexpectationssütunu oluştur. mjs_plot()ilesb_plot'u başlat.sb_words'ux = rankvey = freqile geçir.mjs_plot()içindeshow_rollover_textdeğeriniFALSEyap.
mjs_line()kullanarak vesb_plot'u geçirereksb_plot'u güncelle.mjs_add_line()ilesb_plot'a ekleme yap.- Önceki
sb_plotnesnesini veexpectationsvektörünü geçir.
- Önceki
mjs_add_legend()kullanarak yeni birsb_plotnesnesine açıklama kutusu (legend) yerleştir.- Önceki
sb_plotnesnesini geçir. - Açıklama etiketleri
"Frequency"ve"Expectation"olarak olmalı.
- Önceki
- Grafiği göstermek için
sb_plot'u çağır. Bir noktanın üzerine geldiğinde aynı anda birfreqveExpectationnoktasının vurgulandığını göreceksin. JavaScript’in sihri!
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Examine sb_words
___
# Create expectations
sb_words$expectations <- sb_words %$%
{___[___] / ___}
# Create metrics plot
sb_plot <- ___(___, x = ___, y = ___, ___ = ___)
# Add 1st line
sb_plot <- ___(___)
# Add 2nd line
sb_plot <- ___(___, ___)
# Add legend
sb_plot <- ___(___, legend = c("___", "___"))
# Display plot
sb_plot