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

เพลงแห่งความสุข!

แน่นอนว่าการดูแค่คำเชิงบวกและเชิงลบนั้นยังไม่เพียงพอ ในแบบฝึกหัดนี้ คุณจะได้เรียนรู้เกี่ยวกับ valence shifters ซึ่งช่วยบอกถึงเจตนาทางอารมณ์ของผู้เขียน ก่อนหน้านี้คุณได้ใช้ polarity() กับข้อความที่ไม่มี valence shifters ในตัวอย่างนี้ คุณจะได้เห็นการทำงานของคำขยาย (amplification) และคำปฏิเสธ (negation)

ทบทวนกันอีกครั้ง: คำ ขยาย (amplifying) จะเพิ่ม 0.8 ให้กับคำเชิงบวกใน polarity() ทำให้คะแนนบวกกลายเป็น 1.8 สำหรับคำเชิงลบ จะหัก 0.8 ออก ทำให้ได้ -1.8 จากนั้นคะแนนจะถูกหารด้วยรากที่สองของจำนวนคำทั้งหมด

ลองพิจารณาตัวอย่างจาก Frank Sinatra:

  • "It was a very good year"

"Good" มีค่าเท่ากับ 1 และ "very" เพิ่มอีก 0.8 ดังนั้น 1.8/sqrt(6) ได้ค่า polarity เท่ากับ 0.73

คำ ปฏิเสธ (negating) เช่น "not" จะกลับค่า subjectivity score ลองพิจารณาตัวอย่างจาก Bobby McFerrin:

  • "Don't worry Be Happy"

"worry" กลายเป็น 1 เนื่องจากการปฏิเสธด้วย "don't" เมื่อรวมกับ "happy" ที่มีค่า +1 จะได้ผลรวมเป็น 2 โดยมีคำทั้งหมด 4 คำ ดังนั้น 2 / sqrt(4) จะได้คะแนน polarity เท่ากับ 1

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การวิเคราะห์ความรู้สึกใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ตรวจสอบ data frame ชื่อ conversation สังเกต valence shifters เช่น "never" ในคอลัมน์ text
  • ใช้ polarity() กับคอลัมน์ text ของ conversation เพื่อคำนวณ polarity ของการสนทนาทั้งหมด
  • คำนวณคะแนน polarity แยกตามนักเรียน โดยเก็บผลลัพธ์ไว้ในตัวแปร student_pol
    • เรียกใช้ polarity() อีกครั้ง คราวนี้ส่งสองคอลัมน์จาก conversation
    • ตัวแปรข้อความคือ text และตัวแปรจัดกลุ่มคือ student
  • ใช้ scores() กับ student_pol เพื่อดูผลลัพธ์ในระดับนักเรียน
  • ฟังก์ชัน counts() เมื่อใช้กับ student_pol จะแสดงค่า polarity ระดับประโยคของทั้ง data frame พร้อมคำที่ระบุได้จาก lexicon
  • สามารถพล็อต polarity object ชื่อ student_pol ได้ด้วย plot()

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Examine conversation
___

# Polarity - All
___

# Polarity - Grouped
student_pol <- conversation %$%
  ___(___, ___)

# Student results
___

# Sentence by sentence
___

# qdap plot
___
แก้ไขและรันโค้ด