AFINN: मैं आपका Huckleberry हूँ
अब हम AFINN लेक्सिकॉन पर आते हैं। AFINN लेक्सिकॉन में 5 से -5 तक के संख्यात्मक मान होते हैं, सिर्फ सकारात्मक या नकारात्मक नहीं। Bing लेक्सिकॉन के sentiment के विपरीत, AFINN लेक्सिकॉन में सेंटिमेंट स्कोर वाला कॉलम value कहलाता है.
पहले की तरह, आप inner_join() लगाएँगे, फिर count()। अगला कदम, हर पंक्ति के स्कोर को जोड़ने के लिए हम dplyr के group_by() और summarize() फंक्शन का उपयोग करेंगे। group_by() एक मौजूद डेटा फ्रेम को ग्रुप्ड डेटा फ्रेम में बदल देता है, जहाँ ऑपरेशन "प्रत्येक समूह" पर किए जाते हैं। फिर summarize() आपको किसी एग्रीगेटिंग फंक्शन, जैसे sum() या mean(), से हर समूह के लिए एक मान निकालने देता है। इसलिए, हमारे केस में हम कुछ ऐसा कर सकते हैं:
data_frame %>%
group_by(book_line) %>%
summarize(total_value = sum(book_line))
टाइड फॉर्मेट वाले Huckleberry Finn में, लाइन 9703 में "best", "ever", "fun", "life" और "spirit" शब्द हैं। "best" और "fun" के AFINN स्कोर क्रमशः 3 और 4 हैं। एग्रीगेट करने के बाद, लाइन 9703 का कुल स्कोर 7 होगा।
टाइडिवर्स में, filter() को subset() पर प्राथमिकता दी जाती है क्योंकि यह subset() की कार्यक्षमता को सरल सिंटैक्स के साथ जोड़ता है। यहाँ एक उदाहरण है जो data_frame को filter() करता है जहाँ column1 में कोई मान 24 के बराबर है। ध्यान दें, कॉलम का नाम क्वोट्स में नहीं है।
filter(data_frame, column1 == 24)
afinn ऑब्जेक्ट में AFINN लेक्सिकॉन है। huck ऑब्जेक्ट Mark Twain की Adventures of Huckleberry Finn का एनालिसिस के लिए टाइड वर्जन है।
लाइन 5400 है: All the loafers looked glad; I reckoned they was used to having fun out of Boggs. इस डेटासेट में स्टॉपवर्ड्स और पंक्चुएशन पहले ही हटा दिए गए हैं।
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में Sentiment Analysis
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# See abbreviated line 5400
huck %>% filter(line == 5400)
# What are the scores of the sentiment words?
afinn %>% filter(word %in% c("fun", "glad"))
huck_afinn <- huck %>%
# Inner Join to AFINN lexicon
inner_join(___, by = c("___" = "___")) %>%
# Count by value and line
___(___, ___)