เปรียบเทียบ Stacked Bar Chart
อีกวิธีหนึ่งในการวิเคราะห์ข้อความคือการดูว่าเอกสารประกอบด้วยคำเชิงบวกหรือเชิงลบมากแค่ไหน ตัวอย่างเช่น รีวิวร้านอาหารอาจมีด้านดีอย่าง "the food was good" แต่ตามมาด้วย "the restaurant was dirty, the staff was rude and parking was awful" ดังนั้นเราอาจต้องการรู้ว่าเอกสารนั้นใช้ภาษาเชิงบวกหรือเชิงลบในสัดส่วนเท่าใด ในตัวอย่างนี้ เปอร์เซ็นต์เชิงลบจะสูงกว่าเชิงบวก
วิธีหนึ่งที่ใช้ได้คือ count() คำเชิงบวกและเชิงลบ แล้วหารด้วยจำนวนคำที่ระบุความรู้สึก ในตัวอย่างรีวิวร้านอาหาร คำว่า "good" นับเป็น 1 คำเชิงบวก ส่วน "dirty", "rude", และ "awful" นับเป็น 3 คำเชิงลบ การคำนวณอย่างง่ายจะบอกว่ารีวิวนี้มีความรู้สึกเชิงบวก 25% และเชิงลบ 75% เนื่องจากมีคำที่แสดงความรู้สึกทั้งหมด 4 คำ
เริ่มต้นด้วยการใช้ inner_join() กับ data frame แบบ tidy ที่รวมหนังสือ 4 เล่มไว้ด้วยกัน ได้แก่ Agamemnon, Oz, Huck Finn และ Moby Dick เช่นเดียวกับแบบฝึกหัดก่อนหน้า ให้ใช้ filter() และ grepl()
ในการใช้ count() ต้องจัดกลุ่มข้อมูลตามหนังสือและความรู้สึกก่อน เพื่อให้คำเชิงบวกของ Agamemnon ถูกนับแยกจากหนังสือเล่มอื่น โชคดีที่สามารถส่งตัวแปรหลายตัวเข้าไปใน count() ได้โดยตรง
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ความรู้สึกใน R
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Review tail of all_books
tail(all_books)
# Count by book & sentiment
books_sent_count <- all_books %>%
# Inner join to nrc lexicon
___(___, by = c("term" = "word")) %>%
# Keep only positive or negative
___(__("___", sentiment)) %>%
# Count by book and by sentiment
___(___, ___)
# Review entire object
books_sent_count