เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

เปรียบเทียบ 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
แก้ไขและรันโค้ด