BaşlayınÜcretsiz başlayın

Kelimelerden fazlası: tokenization (1)

Metin madenciliğinin yaygın kullanımları arasında, alışveriş yorumlarını analiz ederek müşterilerin ürün hakkındaki duygularını anlamak veya finans haberlerini analiz ederek hisse senedi fiyatlarına yönelik duyarlılığı tahmin etmek yer alır. Metin verisini analiz edebilmek için, yaygın ön işleme adımları metni küçük harfe dönüştürmek (bkz. tolower()) ve cümleleri tek tek kelimelere ayırmaktır.

ft_tokenizer() bu iki adımı da gerçekleştirir. Kullanımı, gördüğün diğer dönüşümlerle aynı deseni izler ve başka argüman gerektirmez.

shop_reviews %>%
  ft_tokenizer("review_text", "review_words")

Çıktıda her satırda farklı sayıda kelime olabileceği için, output.col bir liste sütunudur; her bir eleman bir dizi (string) listesidir. Metin verisini analiz etmek için genellikle veride satır başına bir kelime olmasını isteriz. Dizi-listelerinden oluşan bu biçim, tidyr paketindeki unnest() kullanılarak tek bir karakter vektörüne dönüştürülebilir. Şu anda Spark üzerinde unnest işlemi için bir yöntem yok; bu yüzden dönüştürmeden önce veriyi R'a collect ederek alman gerekir. Bunu başarmak için kod deseni aşağıdaki gibidir.

library(tidyr)
text_data %>%
  ft_tokenizer("sentences", "word") %>%
  collect() %>%
  mutate(word = lapply(word, as.character)) %>%
  unnest(word)

tidyr paketini kullanma hakkında daha fazla bilgi edinmek istersen, R'de Veri Temizleme kursunu alabilirsin.

Bu egzersiz, kursun bir parçasıdır

R ile sparklyr kullanarak Spark’a Giriş

Kursa Göz Atın

Egzersiz talimatları

Senin için spark_conn olarak bir Spark bağlantısı oluşturuldu. Spark'ta depolanan parça (track) meta verilerine bağlı bir tibble, track_metadata_tbl olarak önceden tanımlandı.

  • track_metadata_tbl'den title_text adlı bir değişken oluştur.
    • artist_name ve title alanlarını seç.
    • Başlığı kelimelere ayıran yeni bir alan olan wordu oluşturmak için ft_tokenizer() kullan.
    • Sonucu topla.
    • word sütununu, lapply ve as.character kullanarak karakter vektörleri listesine düzleştirerek mutate et.
    • Liste sütununu düzleştirmek ve satır başına bir kelime elde etmek için unnest() kullan.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# track_metadata_tbl has been pre-defined
track_metadata_tbl

title_text <- track_metadata_tbl %>%
  # Select artist_name, title
  ___ %>%
  # Tokenize title to words
  ___ %>%
  # Collect the result
  ___ %>%
  # Flatten the word column 
  ___ %>% 
  # Unnest the list column
  ___
Kodu Düzenle ve Çalıştır