You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在quanteda R中绘制词分布对应分析双图及字典整合需求咨询

解决方案

1. 绘制词分布的对应分析图

在quanteda中,生成聚焦词关联的二维对应分析(CA)图,核心是使用textmodel_ca()构建对应分析模型,再用textplot_ca()绘图——这正是替代textplot_scale1d()(侧重文档/说话者位置)的正确工具。

实操代码示例:

library(quanteda)

# 构造示例语料库与词频矩阵
corp <- corpus(data_corpus_inaugural[1:10])
dfm <- dfm(corp, remove_punct = TRUE, remove_stopwords = TRUE)

# 生成对应分析模型
ca_model <- textmodel_ca(dfm)

# 仅绘制词的二维关联图
textplot_ca(ca_model, margin = "features")

margin = "features"参数会过滤掉文档节点,只保留词的分布点,完全匹配你需要的词关联图需求。

2. 字典筛选后的进阶实现

要先通过字典筛选,再展示与字典关键词共现词的CA图,可按以下步骤操作:

步骤1:基于字典筛选目标词/文档

# 替换为你的自定义字典
my_dict <- dictionary(list(
  economy = c("tax", "budget", "jobs", "economy"),
  freedom = c("freedom", "liberty", "rights")
))

# 提取与字典词共现的词(基于窗口共现规则)
fcm_obj <- fcm(dfm(corp, remove_punct = TRUE, remove_stopwords = TRUE), 
               context = "window", window = 5)
dict_terms <- unlist(my_dict)
cooc_terms <- names(which(colSums(fcm_obj[dict_terms, ]) > 0))

# 构建仅包含共现词的词频矩阵
dfm_cooc <- dfm(corp) %>%
  dfm_select(pattern = cooc_terms) %>%
  dfm_remove(stopwords("en"), min_nchar = 3)

步骤2:生成筛选后的词关联CA图

# 对筛选后的矩阵运行对应分析
ca_cooc <- textmodel_ca(dfm_cooc)

# 绘制共现词的二维关联图
textplot_ca(ca_cooc, margin = "features", color = "#2E86AB", size = 2.5)

该图会直观展示与字典关键词共现的词之间的语义关联结构,符合进阶需求。

内容的提问来源于stack exchange,提问作者David Threlfall

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 09:43:16