ตรวจสอบ Polarity เบื้องต้นอย่างรวดเร็ว
เมื่อเริ่มต้นโปรเจกต์ด้านการวิเคราะห์ความรู้สึก การรัน polarity() อย่างรวดเร็วจะช่วยให้กำหนดความคาดหวังและทำความเข้าใจปัญหาได้ดียิ่งขึ้น ในแบบฝึกหัดนี้ (เพื่อประหยัดเวลา) จะนำ polarity() ไปใช้กับ comments เพียงบางส่วน ในขณะที่ polarity object ขนาดใหญ่กำลังโหลดอยู่เบื้องหลัง
เมื่อดู kernel density plot จะสังเกตได้ว่ารีวิวเหล่านี้ ไม่ได้ มีจุดศูนย์กลางอยู่ที่ 0 โดยทั่วไปมีสาเหตุหลักสองประการที่ทำให้เกิดภาวะ "grade inflation" ในด้านความรู้สึก ประการแรกคือบรรทัดฐานทางสังคม ซึ่งอาจทำให้ผู้ตอบแสดงออกในเชิงบวกแทนที่จะเป็นกลาง ทั้งนี้ขึ้นอยู่กับช่องทางที่ใช้ด้วย ช่องทางที่มีการวิจารณ์รุนแรง เช่น e-sports หรือโซเชียลมีเดีย อาจเบี่ยงไปในเชิงลบจนเกิด "grade deflation" แทน ซึ่งสะท้อนถึงความคาดหวังที่แตกต่างกัน ประการที่สองอาจเกิดจาก "feature-based sentiment" กล่าวคือ ในรีวิวบางชิ้น ผู้เขียนอาจกล่าวถึงหลายแง่มุมพร้อมกัน เช่น "เตียงนอนสบายและดีมาก แต่ครัวสกปรกและน่าอึดอัด" ความรู้สึกในรีวิวประเภทนี้ครอบคลุมหลายคุณลักษณะพร้อมกัน จึงอาจทำให้คะแนนเฉลี่ยเบี่ยงเบนได้
ในแบบฝึกหัดถัดไป จะมีการปรับแก้ภาวะ "grade inflation" นี้ แต่ในขั้นนี้ให้สำรวจรีวิวโดยยังไม่ต้องปรับเปลี่ยนใดๆ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ความรู้สึกใน R
คำแนะนำการฝึกหัด
- สร้าง
practice_polโดยใช้polarity()กับรีวิว 6 รายการแรก ได้แก่bos_reviews$comments[1:6] - ตรวจสอบ polarity object ที่ได้โดยเรียก
practice_pol - เรียก
summary()บนpractice_pol$all$polarityเพื่อดู polarity โดยรวมของคอมเมนต์ทั้ง 6 รายการ - นอกจากนี้ยังได้โหลด polarity object ขนาดใหญ่สำหรับคอมเมนต์ทั้งหมด 1,000 รายการไว้แล้ว โดยมีชื่อว่า
bos_polให้นำsummary()ไปใช้กับ list element ที่ถูกต้องซึ่งคืนค่า polarity score ทั้งหมด ของbos_pol - โค้ดตัวอย่างมี barplot และ kernel density plot ที่เกือบพร้อมแสดงผลแล้ว เพียงระบุ data frame ที่แทนคะแนน ทั้งหมด คำใบ้: ในขั้นตอนก่อนหน้า
polarityคือคอลัมน์หนึ่งใน data frame นั้น
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Practice apply polarity to first 6 reviews
practice_pol <- ___
# Review the object
___
# Check out the practice polarity
___
# Summary for all reviews
___
# Plot Boston polarity all element
ggplot(___, aes(x = polarity, y = ..density..)) +
geom_histogram(binwidth = 0.25, fill = "#bada55", colour = "grey60") +
geom_density(size = 0.75) +
theme_gdocs()