我是一个文学专业的学生,在数据科学中迷失了方向。我试图分析一个70 ..txt文件的语料库,这些文件都在一个目录中。
我的最终目标是获得一个包含文件名(或类似内容)、句子和单词计数、Flesch-Kincaid可读性评分和MTLD词汇多样性评分的表。
我已经找到了包koRpus和tm (和tm.plugin.koRpus),并试图理解它们的文档,但还没走多远。在RKward IDE和koRpus插件的帮助下,我设法一次只获取一个文件的所有这些度量,并且可以手动将数据复制到一个表中,但这是非常麻烦的,而且仍然需要大量的工作。
到目前为止,我尝试的是这个命令来创建我的文件集:
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).如果有人能帮助一个绝对的新手,我会非常感激的!
发布于 2017-07-25 15:06:01
我在这个包的作者unDocUMeantIt的帮助下找到了解决方案(谢谢!)目录中的一个空文件导致了错误,删除后,我设法让所有东西都运行起来。
发布于 2017-07-24 14:48:30
这是一个非常全面的演练.如果我是你,我会一步一步地走过去。
http://tidytextmining.com/tidytext.html
发布于 2017-07-28 15:36:04
我建议你看一看我们为quanteda,数字人文用例:基于R的文本分析分析对文学专业学生的复制的小故事,它复制了马特·乔克尔的同名书。
对于您正在寻找的上面的内容,下面的内容将有效:
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,但是我们正在研究它,而且它还有其他的六个。
https://stackoverflow.com/questions/45283366
复制相似问题