建立以極性為基礎的語料庫
在這個練習中,你會執行文字探勘流程的第 3 步。雖然 qdap 不是 tidy 套件,你會用 mutate() 根據回傳的 polarity 清單建立一個代表「所有極性」(這就是提示)分數的新欄位。在第 3 章我們用了只採用 base R 宣告的自訂函式 pol_subsections。不過,為了遵循 tidy 原則,本練習會先用 filter(),接著介紹 pull()。pull() 的作用就像 [[,用來擷取單一變數。
完成區分後,你會把所有正向與負向的留言各自彙整成兩份較大的文件,代表所有正評與負評租屋評論中的所有字詞。
最後,你會建立一個使用詞頻-逆文件頻率(TFIDF)加權的詞-文件矩陣(TDM)。由於本練習的程式碼一開始採用 tidy 結構,因此也會搭配使用從 tm 借來的部分函式與 %>% 運算子來維持風格一致。若你對 tm 套件的基礎不熟,請參考課程《Text Mining with Bag-of-Words in R》(https://www.datacamp.com/courses/text-mining-with-bag-of-words-in-r)。在 TDM 中,值不是單純計算字詞出現次數(頻率),而是會對過度常見的字詞施以懲罰,這有助於減少無資訊性的字詞。
本練習屬於課程
R 情感分析
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
pos_terms <- bos_reviews %>%
# Add polarity column
___(polarity = ___) %>%
# Filter for positive polarity
___(___) %>%
# Extract comments column
___(___) %>%
# Paste and collapse
___(collapse = "___")