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

Comparison Cloud แบบปรับสเกล

จำ "grade inflation" ของคะแนน polarity ในรีวิวที่พักได้ไหม? บางครั้ง วิธีหนึ่งในการค้นพบ insight ใหม่คือการปรับสเกลคะแนนให้กลับมาที่ 0 แล้วจึงแบ่งกลุ่ม corpus ใหม่ ซึ่งหมายความว่าความคิดเห็นที่เคยเป็นเชิงบวกอาจย้ายไปอยู่ในกลุ่มเชิงลบ หรือในทางกลับกัน เนื่องจากค่าเฉลี่ยถูกเปลี่ยนเป็น 0 แบบฝึกหัดนี้จะช่วยให้ปรับสเกลคะแนน แล้ว plot comparison.cloud() ใหม่อีกครั้ง การลบ "grade inflation" ออกอาจช่วยเผยให้เห็น insight เพิ่มเติมได้

ก่อนหน้านี้ได้ใช้ polarity() กับ bos_reviews$comments และสร้าง comparison.cloud() ไปแล้ว ในแบบฝึกหัดนี้จะใช้ scale() กับผลลัพธ์ก่อนสร้าง comparison.cloud() ลองดูว่าจะแสดงอะไรที่แตกต่างออกไปในภาพหรือไม่!

เนื่องจากเป็นแบบฝึกหัดทบทวนเป็นส่วนใหญ่ โค้ดจำนวนมากจึงมีอยู่แล้ว เพียงเติม object และพารามิเตอร์ที่ถูกต้องให้ครบ!

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

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

ดูคอร์ส

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

  • ทบทวนส่วนหนึ่งของ bos_pol$all ที่โหลดไว้ล่วงหน้า โดย index ด้วย [1:6,1:3]
  • เพิ่มคอลัมน์ใหม่ชื่อ scaled_polarity โดยใช้ scale() กับคอลัมน์คะแนน polarity ที่ชื่อ bos_pol$all$polarity
  • สำหรับความคิดเห็นเชิงบวก ใช้ subset() โดยกรองที่คอลัมน์ใหม่ bos_reviews$scaled_polarity มากกว่า (>) ศูนย์
  • สำหรับความคิดเห็นเชิงลบ ใช้ subset() โดยกรองที่คอลัมน์ใหม่ bos_reviews$scaled_polarity น้อยกว่า (<) ศูนย์
  • สร้าง pos_terms โดยใช้ paste() กับ pos_comments
  • สร้าง neg_terms โดยใช้ paste() กับ neg_comments
  • จัดระเบียบเอกสารที่รวมกันแล้ว ได้แก่ pos_terms และ neg_terms ให้อยู่ใน corpus เดียวชื่อ all_terms
  • ทำตามขั้นตอนปกติของ tm โดย nest VectorSource() ไว้ใน VCorpus() แล้วใช้กับ all_terms
  • สร้าง TermDocumentMatrix() โดยใช้ object all_corpus โดย TDM นี้ถ่วงน้ำหนักด้วย TfIdf และมีฟังก์ชันทำความสะอาดพื้นฐานอยู่แล้ว
  • แปลง all_tdm เป็น all_tdm_m โดยใช้ as.matrix() จากนั้นเปลี่ยนชื่อคอลัมน์ในโค้ดที่มีอยู่เป็น "positive" และ "negative"
  • สุดท้าย! ใช้ comparison.cloud() กับ matrix object all_tdm_m แล้วสังเกตคำเชิงลบที่พบบ่อยที่สุดใหม่ บางทีอาจเผยให้เห็น insight ที่ไม่เคยรู้มาก่อน!

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

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

# Review
___

# Scale/center & append
bos_reviews$___ <- scale(___)

# Subset positive comments
pos_comments <- subset(bos_reviews$comments, ___)

# Subset negative comments
neg_comments <- subset(bos_reviews$comments, ___)

# Paste and collapse the positive comments
pos_terms <- paste(___, collapse = " ")

# Paste and collapse the negative comments
neg_terms <- paste(___, collapse = " ")

# Organize
all_terms<- c(___, ___)

# VCorpus
all_corpus <- ___(VectorSource(___))

# TDM
all_tdm <- TermDocumentMatrix(
  ___, 
  control = list(
    weighting = weightTfIdf, 
    removePunctuation = TRUE, 
    stopwords = stopwords(kind = "en")
  )
)

# Column names
___ <- as.matrix(___)
colnames(all_tdm_m) <- c("___", "___")

# Comparison cloud
comparison.cloud(
  ___, 
  max.words = 100,
  colors = c("darkgreen", "darkred")
)
แก้ไขและรันโค้ด