使用詞語關聯
另一種思考詞語關係的方法,是使用 tm 套件裡的 findAssocs() 函式。對於任一個詞,findAssocs() 會計算它與 TDM 或 DTM 中每個其他詞的相關性。分數範圍為 0 到 1。分數為 1 代表兩個詞在文件中總是一起出現;分數接近 0 則代表它們很少在同一份文件中出現。
請記住,findAssocs() 的計算是在文件層級進行的。因此,針對每一份包含目標詞的「文件」,只會將那些特定文件中的其他詞視為關聯;不含搜尋詞的文件會被忽略。
要使用 findAssocs(),請傳入一個 TDM 或 DTM、搜尋詞,以及最小相關性。此函式會回傳所有符合或高於該門檻的其他詞清單。
findAssocs(tdm, "word", 0.25)
由於詞彙的多樣性,最小相關性值通常會設定得相對較低。即使是 0.10,也可能顯示出很強的成對詞語關聯。
本練習已將咖啡相關推文清理並整理為 tweets_tdm。你將搜尋某個詞語的關聯,使用 qdap 的 list_vect2df() 操作結果,然後用範例指令碼中的 ggplot2 程式碼繪製圖表。
本練習屬於課程
R 的 Bag-of-Words 文本探勘
練習說明
- 使用
findAssocs()對tweets_tdm建立associations,找出與「venti」關聯且最小門檻為0.2的詞語。 - 將
associations列印到主控台,查看與「venti」關聯的詞語。 - 呼叫
list_vect2df()建立associations_df,傳入associations,並將col2設為"word"、col3設為"score"。 - 執行
ggplot2程式碼,繪製關聯值的點狀圖。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
# Create associations
___ <- ___(___, ___, ___)
# View the venti associations
___
# Create associations_df
___ <- ___(___, ___, ___)
# Plot the associations_df values
ggplot(associations_df, aes(score, word)) +
geom_point(size = 3) +
theme_gdocs()