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

สร้าง Tidy Text Tibble!

เมื่อได้เรียนรู้หลักการ tidy แล้ว โค้ดนี้จะช่วยจัดระเบียบข้อมูลให้อยู่ในรูป tibble เพื่อให้ทำงานภายใน tidyverse ได้สะดวก

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

ขั้นแรกใช้ unnest_tokens() เพื่อแปลงข้อความเป็นตัวพิมพ์เล็กและตัดรีวิวออกเป็นคำเดี่ยว

บางครั้งการบันทึกลำดับคำเดิมภายในแต่ละกลุ่มของ corpus อาจมีประโยชน์ ให้ใช้ mutate() เพื่อทำสิ่งนี้ โดยภายใน mutate() จะใช้ seq_along() เพื่อสร้างลำดับตัวเลขตั้งแต่ 1 จนถึงความยาวของออบเจกต์ ซึ่งจะเก็บลำดับคำตามที่ปรากฏในข้อความต้นฉบับ

ใน package tm จะใช้ removeWords() เพื่อลบ stopwords แต่ใน tidyverse ต้องโหลด stop words lexicon ก่อน แล้วจึงใช้ anti_join() ระหว่าง tidy text data frame กับ stopwords

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

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

ดูคอร์ส

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

  • สร้าง tidy_reviews โดย pipe (%>%) ออบเจกต์รีวิวต้นฉบับ bos_reviews ไปยังฟังก์ชัน unnest_tokens() ส่งชื่อคอลัมน์ใหม่ word และระบุคอลัมน์ comments โดยใน tidyverse ไม่จำเป็นต้องใช้ $ หรือเครื่องหมายคำพูด
  • สร้างตัวแปรใหม่แบบ tidy! เขียน tidy_reviews ใหม่โดย pipe tidy_reviews ไปยัง group_by ด้วยคอลัมน์ id จากนั้น %>% ต่อไปยัง mutate() ภายใน mutate ให้สร้างตัวแปรใหม่ original_word_order ให้มีค่าเท่ากับ seq_along(word)
  • แสดงผล tibble tidy_reviews
  • โหลด stopwords "SMART" ที่เตรียมไว้ล่วงหน้าเข้า R session ด้วย data("stop_words")
  • เขียนทับ tidy_reviews โดย pipe tidy_reviews ต้นฉบับไปยัง anti_join() ด้วย %>% แล้วส่ง stop_words lexicon ที่เตรียมไว้เข้าไปใน anti_join()

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

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

# Vector to tibble
tidy_reviews <- bos_reviews %>% 
  ___(___, ___)

# Group by and mutate
tidy_reviews <- tidy_reviews %>% 
  ___(___) %>% 
  ___(original_word_order = ___(___))

# Quick review
___

# Load stopwords
___

# Perform anti-join
tidy_reviews_without_stopwords <- tidy_reviews %>% 
  ___(___)
แก้ไขและรันโค้ด