使用词语关联
思考词语关系的另一种方式是使用 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()