r - 有没有办法同时计算一个单词和ngrams的频率?
问题描述
现在,我在使用 R 和 quanteda 包的文本处理中有两个步骤:
一方面,我计算目标词的频率,比如citiziens。另一方面,我计算 ngram 的频率。
txt<- "for this purpose citizens and sydney siders are the same"
tok_single<- tokens_select(tokens(txt), pattern = "citizens", padding = TRUE)
textstat_frequency(dfm(tok_single))
####bigrams
toks_bigram <- tokens_select(tokens_ngrams(tokens(txt),n=2:3), pattern = c("sydney_siders"), padding = TRUE)
textstat_frequency(dfm(toks_bigram))
最后,我遇到的问题是我的字典中的关键字由单个单词(如citizen)和多个单词(如sydney siders)组成。到目前为止,我的计算分两步完成。分别用 1-gram 和 n-gram 计算标记。是否有组合 ngram 和 1-gram 的功能?
例如,我想一步计算我的字典项目的频率。
mydic<-dictionary(list(citizen=c("citizen*","sydney siders","public")))
解决方案
推荐阅读
- c++ - C ++:按数字错误对链表进行排序
- android - 是否可以在android studio中动态显示数据库中的元组?
- xslt - XSLT 子分组
- c# - 将字节数组传递给 PixelShaderEffect
- python - 我应该如何测试字典总是以相同的顺序排列?
- apache-spark - OutOfMemoryError : Spark 中的 Java 堆空间
- multithreading - 线程端口扫描器python
- git - Git LFS 删除比提交更早的文件
- python - Can't save related objects in django models using pre_save signal
- mariadb - 索引整列或子字符串