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

ทบทวน TM (II)

มาสร้าง Document Term Matrix (DTM) กัน ใน DTM:

  • แต่ละแถวของเมทริกซ์แทนหนึ่งเอกสาร
  • แต่ละคอลัมน์แทนคำ (token) ที่ไม่ซ้ำกัน
  • ค่าในเมทริกซ์สอดคล้องกับความถี่การใช้คำในแต่ละเอกสาร

DTM เป็นพื้นฐานสำคัญของการวิเคราะห์แบบ bag of words และในบทต่อๆ ไปจะได้ใช้ Term Document Matrix (TDM) ซึ่งเป็น transpose ของ DTM นั่นคือคอลัมน์แทนเอกสาร และแถวแทนคำที่ไม่ซ้ำกัน

ควรสร้าง DTM หลังจากทำความสะอาด corpus แล้ว (โดยใช้ clean_corpus()) ด้วยการเรียก DocumentTermMatrix() บน corpus object

tm_dtm <- DocumentTermMatrix(tm_clean)

หากต้องการทบทวนเพิ่มเติม สามารถดูได้ที่คอร์ส Text Mining with Bag-of-Words in R หวังว่าแบบฝึกหัดสองข้อนี้จะช่วยเตรียมความพร้อมสำหรับการวิเคราะห์ sentiment ได้เป็นอย่างดี!

โปรดทราบว่าข้อมูลนี้มาจาก Twitter จริง จึงมีความเป็นไปได้ที่อาจมีคำหยาบหรือเนื้อหาที่ไม่เหมาะสมปะปนอยู่ (ทั้งในแบบฝึกหัดนี้และแบบฝึกหัดถัดไปที่ใช้ข้อมูล Twitter จริงเช่นกัน)

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

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

ดูคอร์ส

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

เราได้สร้างออบเจกต์ VCorpus() ชื่อ clean_text ซึ่งประกอบด้วยทวีตที่กล่าวถึงกาแฟจำนวน 1,000 รายการ ทวีตเหล่านี้ผ่านการทำความสะอาดด้วยขั้นตอน preprocessing ที่กล่าวถึงก่อนหน้าแล้ว เป้าหมายคือสร้าง DTM จาก corpus นี้

  • ใช้ DocumentTermMatrix() กับ corpus clean_text เพื่อสร้าง DTM แบบ term frequency weighted ชื่อว่า tf_dtm
  • แปลงออบเจกต์ DocumentTermMatrix() ให้เป็นเมทริกซ์ธรรมดาด้วย as.matrix() แล้วตั้งชื่อออบเจกต์ใหม่ว่า tf_dtm_m
  • ตรวจสอบขนาดของเมทริกซ์ด้วย dim()
  • ใช้ square bracket indexing เพื่อดูส่วนหนึ่งของเมทริกซ์
  • เลือกแถวที่ 16 ถึง 20 และคอลัมน์ที่ 2975 ถึง 2985
  • สังเกตค่าความถี่ของคำว่า "working"

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

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

# clean_text is pre-defined
clean_text

# Create tf_dtm
tf_dtm <- ___

# Create tf_dtm_m
tf_dtm_m <- ___

# Dimensions of DTM matrix
___

# Subset part of tf_dtm_m for comparison
___[___, ___]
แก้ไขและรันโค้ด