我是一名失去数据科学的文学学生。我试图分析70个.txt文件的语料库,这些文件都在一个目录中。
我的最终目标是获得一个包含文件名(或类似名称),句子和单词计数,Flesch-Kincaid可读性分数和MTLD词汇多样性分数的表格。
我发现了koRpus和tm(以及tm.plugin.koRpus)软件包,并试图了解他们的文档,但还没有结束。在RKWARD IDE和koRpus-Plugin的帮助下,我设法一次为一个文件获取所有这些度量,并且可以手动将这些数据复制到表中,但这非常麻烦且仍然很多工作。
我迄今为止尝试过的是创建文件语料库的命令:
simpleCorpus(dir = "/home/user/files/", lang = "en", tagger = "tokenize",
encoding = "UTF-8", pattern = NULL, recursive = FALSE, ignore.case = FALSE, mode = "text", source = "Wikipedia", format = "file",
mc.cores = getOption("mc.cores", 1L))
但我总是得到错误:
Error in data.table(token = tokens, tag = unk.kRp):column or argument 1 is NULL).
如果有人可以帮助R的绝对新手,我会非常感激!
答案 0 :(得分:0)
这是一个非常全面的演练......如果我是你,我会逐步完成这一步。
答案 1 :(得分:0)
我在unDocUMeantIt的帮助下找到了解决方案,该软件包的作者(谢谢!)。目录中的空文件导致错误,删除后我设法让所有内容都运行。
答案 2 :(得分:0)
我建议你看一下我们的 quanteda ,Digital Humanities Use Case: Replication of analyses from Text Analysis with R for Students of Literature的插图,它复制了Matt Jocker的同名书。
对于您正在寻找的内容,以下内容可行:
require(readtext)
require(quanteda)
# reads in all of your texts and puts them into a corpus
mycorpus <- corpus(readtext("/home/user/files/*"))
# sentence and word counts
(output_df <- summary(mycorpus))
# to compute Flesch-Kincaid readability on the texts
textstat_readability(mycorpus, "Flesch.Kincaid")
# to compute lexical diversity on the texts
textstat_lexdiv(dfm(mycorpus))
textstat_lexdiv()
函数目前没有MLTD,但我们正在研究它,它确实有其他六个。