ทบทวน 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()กับ corpusclean_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
___[___, ___]