शब्दों से आगे: टोकनाइज़ेशन (1)
टेक्स्ट-माइनिंग का आम उपयोग शॉपिंग रिव्यूज़ का विश्लेषण करके खरीदारों की उत्पाद के प्रति भावना जानना, या वित्तीय समाचारों का विश्लेषण करके स्टॉक कीमतों के संबंध में सेंटिमेंट का अनुमान लगाना है. टेक्स्ट डेटा का विश्लेषण करने के लिए, सामान्य प्री-प्रोसेसिंग स्टेप्स में टेक्स्ट को लोअरकेस में बदलना (देखें tolower()) और वाक्यों को अलग-अलग शब्दों में बाँटना शामिल है.
ft_tokenizer() ये दोनों स्टेप्स करता है. इसका उपयोग आपने देखे हुए अन्य ट्रांसफॉर्मेशन की तरह ही पैटर्न का पालन करता है, और किसी अतिरिक्त आर्ग्युमेंट की ज़रूरत नहीं होती.
shop_reviews %>%
ft_tokenizer("review_text", "review_words")
चूँकि आउटपुट की हर पंक्ति में शब्दों की संख्या अलग हो सकती है, इसलिए output.col एक लिस्ट कॉलम होता है, जहाँ हर एलिमेंट स्ट्रिंग्स की एक लिस्ट है. टेक्स्ट डेटा का विश्लेषण करने के लिए, आम तौर पर प्रति पंक्ति एक शब्द होना बेहतर रहता है. लिस्ट-ऑफ-लिस्ट-ऑफ-स्ट्रिंग्स फ़ॉर्मैट को tidyr पैकेज के unnest() का उपयोग करके एक सिंगल कैरेक्टर वेक्टर में बदला जा सकता है. वर्तमान में Spark पर अननेस्टिंग के लिए कोई मेथड उपलब्ध नहीं है, इसलिए फिलहाल, ट्रांसफॉर्म करने से पहले आपको डेटा R में कलेक्ट करना होगा. इसे पाने का कोड पैटर्न इस प्रकार है.
library(tidyr)
text_data %>%
ft_tokenizer("sentences", "word") %>%
collect() %>%
mutate(word = lapply(word, as.character)) %>%
unnest(word)
यदि आप tidyr पैकेज के उपयोग के बारे में और सीखना चाहते हैं, तो Cleaning Data in R कोर्स लें.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में sparklyr के साथ Spark परिचय
अभ्यास निर्देश
spark_conn के रूप में आपके लिए एक Spark कनेक्शन बनाया गया है. Spark में स्टोर किए गए ट्रैक मेटाडेटा से जुड़ी एक tibble पहले से track_metadata_tbl के रूप में परिभाषित है.
track_metadata_tblसेtitle_textनाम का एक वैरिएबल बनाएँ.artist_nameऔरtitleफ़ील्ड चुनें.ft_tokenizer()का उपयोग करकेwordनाम का एक नया फ़ील्ड बनाएँ, जिसमें टाइटल शब्दों में बाँटा हुआ हो.- परिणाम कलेक्ट करें.
wordकॉलम पर mutate करें, और उसेlapplyवas.characterका उपयोग करके कैरेक्टर वेक्टरों की लिस्ट में फ्लैटन करें.unnest()का उपयोग करके लिस्ट कॉलम को फ्लैटन करें, और प्रति पंक्ति एक शब्द प्राप्त करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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
___