DTM बनाम tidytext मैट्रिक्स
tidyverse R पैकेजों का एक संग्रह है जो समान सिद्धांतों को साझा करते हैं और साथ में काम करने के लिए बनाए गए हैं. इस अध्याय में डेटा को संशोधित करने के लिए कुछ tidy फंक्शनों को कवर किया गया है. इस अभ्यास में आप एक DTM की तुलना tidy टेक्स्ट डेटा फ्रेम से करेंगे जिसे tibble कहा जाता है.
Tidyverse में, हर observation डेटा फ्रेम की एक ही row होती है. इससे अलग-अलग पैकेजों में काम करना आसान हो जाता है क्योंकि मूलभूत डेटा संरचना एक जैसी रहती है. इस कोर्स के कुछ हिस्से tidytext पैकेज से लिए गए हैं, जो इसी डेटा संगठन का उपयोग करता है.
उदाहरण के लिए, आप पहले से magrittr पैकेज के %>% ऑपरेटर से परिचित हो सकते हैं. यह अपने बाएँ तरफ़ की वस्तु (object) को दाएँ तरफ़ वाले फंक्शन के पहले आर्ग्यूमेंट के रूप में आगे बढ़ा देता है.
नीचे दिए उदाहरण में, आप data ऑब्जेक्ट को function1() में forward कर रहे हैं. ध्यान दें कि कोष्ठक (parentheses) खाली हैं. फिर यह आगे function2() को forward होता है. आख़िरी फंक्शन में आपको data ऑब्जेक्ट दोबारा नहीं देना पड़ता क्योंकि वह function1() के आउटपुट से forward हो चुका है. हालाँकि, आप एक काल्पनिक पैरामीटर some_parameter को TRUE के रूप में जोड़ते हैं. ये pipe forwards मिलकर अंततः object बनाते हैं.
object <- data %>%
function1() %>%
function2(some_parameter = TRUE)
%>% ऑपरेटर इस्तेमाल करने के लिए आपको ज़रूरी नहीं कि magrittr पैकेज लोड करें, क्योंकि यह dplyr पैकेज में भी उपलब्ध है.
dplyr में inner_join() (जिसके बारे में आप आगे और सीखेंगे) और डेटा की गिनती करने के लिए count() भी शामिल हैं. आख़िरी फंक्शन जिसकी आपको ज़रूरत होगी, वह है mutate(), नए वैरिएबल बनाने या मौजूदा को संशोधित करने के लिए.
object <- data %>%
mutate(new_Var_name = Var1 - Var2)
या किसी वैरिएबल को संशोधित करने के लिए
object <- data %>%
mutate(Var1 = as.factor(Var1))
आप tidyr के pivot_wider() फंक्शन का भी उपयोग करेंगे ताकि डेटा को इस तरह व्यवस्थित किया जा सके कि हर row किताब की एक पंक्ति हो और positive तथा negative मान अलग-अलग कॉलम हों.
| index | negative | positive |
|---|---|---|
| 42 | 2 | 0 |
| 43 | 0 | 1 |
| 44 | 1 | 0 |
DTM को tidy फ़ॉर्मेट में बदलने के लिए broom पैकेज का tidy() इस्तेमाल करें.
tidy_format <- tidy(Document_Term_Matrix)
इस अभ्यास में यूनानी त्रासदी Agamemnon का टेक्स्ट इस्तेमाल किया गया है. Agamemnon वैवाहिक बेवफाई और हत्या की कहानी है. आप इसकी प्रति यहाँ से डाउनलोड कर सकते हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में Sentiment Analysis
अभ्यास निर्देश
हमने इस अभ्यास के लिए पहले से ही एक साफ DTM ag_dtm बना दिया है.
ag_dtmपरas.matrix()लगाकरag_dtm_mबनाइए.- Brackets
[और]का उपयोग करकेag_dtm_mमें row2206को index कीजिए. tidy()कोag_dtmपर लागू करें. नए ऑब्जेक्ट का नामag_tidyरखिए.- Tidy फ़ॉर्मेट की तुलना करने के लिए
ag_tidyमें rows[831:835, ]देखें. आपको step 2 मेंag_dtm_mके देखे गए हिस्से से एक कॉमन शब्द दिखेगा.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# As matrix
ag_dtm_m <- ___
# Examine line 2206 and columns 245:250
ag_dtm_m[___, 245:250]
# Tidy up the DTM
ag_tidy <- ___
# Examine tidy with a word you saw
ag_tidy[___, ]