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

Bing tidy polarity: ตัวอย่างเบื้องต้น

เมื่อเข้าใจหลักการของ inner join แล้ว ลองนำมาใช้กับ Bing lexicon กัน โปรดจำไว้ว่าฟังก์ชัน inner_join() มาจากไลบรารี dplyr และดึง lexicon object ด้วยฟังก์ชัน get_sentiments() ของ tidytext

Bing lexicon จะแบ่งคำออกเป็นเชิงบวกหรือเชิงลบ แบบฝึกหัดสามข้อถัดไปจะให้ทดลองใช้งาน lexicon นี้โดยตรง หากต้องการใช้ get_sentiments() ให้ส่ง string เช่น "afinn", "bing", "nrc" หรือ "loughran" เพื่อดาวน์โหลด lexicon ที่ต้องการ

ขั้นตอนการทำงานด้วย inner join:

  • ดึง lexicon ที่ต้องการด้วย get_sentiments()
  • ส่ง lexicon และข้อมูลข้อความแบบ tidy ให้กับ inner_join()
  • inner_join() จำเป็นต้องมีคอลัมน์ที่มีชื่อตรงกัน หากไม่มี ให้ระบุด้วยพารามิเตอร์ by โดยใช้ c พร้อมชื่อคอลัมน์ตามตัวอย่างด้านล่าง
object <- x %>% 
    inner_join(y, by = c("column_from_x" = "column_from_y"))
  • จากนั้นทำการรวมผลและวิเคราะห์ข้อมูลจากตารางที่ได้

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

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

ดูคอร์ส

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

โหลด ag_txt ซึ่งประกอบด้วย 100 บรรทัดแรกจาก Agamemnon และ ag_tidy ซึ่งเป็นเวอร์ชัน tidy ไว้ให้แล้ว

  • เพื่อเปรียบเทียบ ให้ใช้ polarity() กับ ag_txt
  • ดึง lexicon "bing" โดยส่ง string ดังกล่าวให้กับ get_sentiments()
  • ทำ inner_join() ระหว่าง ag_tidy และ bing
    • คอลัมน์คำใน ag_tidy ชื่อ "term" ส่วนใน lexicon ชื่อ "word" จึงต้องระบุอาร์กิวเมนต์ by ด้วย
    • ตั้งชื่อ object ใหม่ว่า ag_bing_words
  • พิมพ์ ag_bing_words แล้วดูคำบางส่วนที่ปรากฏในผลลัพธ์
  • ส่ง ag_bing_words ต่อไปยัง count() ของ sentiment โดยใช้ pipe operator %>% แล้วเปรียบเทียบคะแนนจาก polarity() กับอัตราส่วนจำนวน sentiment

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

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

# Qdap polarity
___

# Get Bing lexicon
bing <- get_sentiments("___")

# Join text to lexicon
ag_bing_words <- ___(___, ___, by = c("___" = "___"))

# Examine
ag_bing_words

# Get counts by sentiment
ag_bing_words %>%
  ___(___)
แก้ไขและรันโค้ด