ron*_*ith 5 r corpus text-mining stringr quanteda
我尝试使用R、jiebaR和语料库生成一个词云并获取中文语音的词频,但无法制作语料库。这是我的代码:
library(jiebaR)
library(stringr)
library(corpus)
cutter <- worker()
v36 <- readLines('v36.txt', encoding = 'UTF-8')
seg_x <- function(x) {str_c(cutter[x], collapse = '')}
x.out <- sapply(v36, seg_x, USE.NAMES = FALSE)
v36.seg <- x.out
v36.seg
library(quanteda)
corpus <- corpus(v36.seg) #Error begins here.
summary(corpus, showmeta = TRUE, 1)
texts(corpus)[1]
tokens(corpus, what = 'fasterword')[1]
tokens <- tokens(v36.seg, what = 'fasterword')
dfm <- dfm(tokens)
dfm
Run Code Online (Sandbox Code Playgroud)
我的文本文件包含以下段落:
当我创建语料库时出现错误。R 返回:
Error in corpus.default(v36.seg) :
corpus() only works on character, corpus, Corpus, data.frame, kwic objects.
Run Code Online (Sandbox Code Playgroud)
我不明白为什么文本有问题。如果您能帮我解决问题,我将不胜感激。谢谢。
如果没有可重现的示例,就无法判断,但我可以建议两件事可能会解决这个问题。第一个是使用readtext包简化文本文件的读取。第二个是你肯定想要“word”分词器,而不是“fasterword”,它只是在空格上分割——中文在单词之间不使用空格。“字”知道中文的字界限。
尝试这个:
library("quanteda")
readtext::readtext("v36.rtxt") %>%
corpus() %>%
tokens(what = "word") %>%
dfm()
Run Code Online (Sandbox Code Playgroud)