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

如何正确统计Quanteda整个语料库中的Types?结果差异求解

Quanteda语料库全局types统计问题解答

哪种方法正确?

取决于你是否需要区分单词的大小写:

  • 若要统计区分大小写的唯一词形,使用length(types(corp_uk_tokens))
  • 若要统计不区分大小写的唯一词形,使用nfeat(dfm(corp_uk_tokens)),或者先对tokens做大小写转换再统计:length(types(tokens_tolower(corp_uk_tokens)))

结果不同的原因

两者的核心差异来自quanteda的默认参数设置:

  • tokens()函数默认不做大小写转换(tolower=FALSE),因此types(corp_uk_tokens)会把大小写不同的词视为不同类型(比如"UK"和"uk"算两个独立types)。
  • dfm()函数默认会自动将所有词转为小写(tolower=TRUE),因此生成的文档特征矩阵会把大小写不同的词合并为同一个特征,最终统计的唯一特征数更少。

你可以运行以下代码验证这个差异:

# 查看大小写不同的词差异
setdiff(types(corp_uk_tokens), featnames(dfm(corp_uk_tokens, tolower=FALSE)))
# 此时tolower=FALSE的dfm特征数和types数完全一致
nfeat(dfm(corp_uk_tokens, tolower=FALSE)) == length(types(corp_uk_tokens))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 00:05:05