繁体   English   中英

从 pdf 或 R 中的文本读取语料库

[英]Corpus reading from pdf OR text in R

我有一大堆文件要在 R 中作为语料库阅读。 所有文件都是 pdf,但最近,我意识到其中一些文件是 txt。

在获得文本文件之前,我只是创建了目录中的 pdf 文件列表,并使用带有 readerControl 的 Corpus 函数读取它们:

getwd()
files <- list.files(pattern = "pdf$")
corp <- Corpus(URISource(files),
               readerControl = list(reader = readPDF))

我试图创建一个 pdf 和 txt 的组合列表,但我找不到一种方法来使用 readerContrl 来读取 pdf 或 txt:

files1 <- list.files(pattern = "pdf$")
files2 <- list.files(pattern = "txt$")
files<-c(files1,files2)

corp <- Corpus(URISource(files),
               readerControl = list(reader = c(readPDF,readPlain)))

关于如何解决这个问题的任何想法? 我考虑合并两个 Copuses 元素,一个是 reader=readPDF,另一个是 reader=readPlain。 但由于我是文本挖掘的新手,我不确定这样做的最佳实践是什么。

使用readtext包以更简单的方式完成。 如果您的 .txt 和 .pdf 文件混合在同一个子目录中,请调用此path_to_your_files/ ,然后您可以将它们全部读入,然后使用readtext()将它们变成一个tm语料库。 这个函数会自动识别不同的输入文件类型,并将它们转换成 UTF-8 文本,以便在 R 中进行文本分析。(这里创建的rtext对象是一种特殊类型的 data.frame,它包括一个文档标识符列和一个名为text列,该列包含输入文档的转换文本内容。)

rtext <- readtext::readtext("path_to_your_files/*")
tm::Corpus(VectorSource(rtext[["text"]]))

如果您想尝试替代tm , readtext对象也可以直接与quanteda包一起用作quanteda::corpus()输入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM