tidytext 从文件夹中读取文件

jfk*_*ler 4 nlp r tidytext

我正在尝试将一个包含 pdf 文件的文件夹读入 R 中的数据帧。我能够使用pdftools库和pdf_text(filepath).

理想情况下,我可以获取一系列 pdf 的作者和标题,然后将它们推送到一个数据框中,该数据框中有一列包含这些内容,以便我可以tidytext在文本上使用基本功能。

对于现在的单个文件,我可以使用:

library(pdftools)
library(tidytext)
library(dplyr)
txt <- pdf_text("filpath")
txt <- data_frame(txt)
txt %>%
     unnest_tokens(word, txt)
Run Code Online (Sandbox Code Playgroud)

在这里,我有一个带有单个单词的数据框。我想进入一个数据框,在那里我解压了文章,包括标题和作者列。

Jul*_*lge 7

要查找工作目录中的所有 PDF,您可以使用list.files参数:

all_pdfs <- list.files(pattern = ".pdf$")
Run Code Online (Sandbox Code Playgroud)

all_pdfs对象将是一个包含所有文件名的字符向量。

然后,您可以设置一个管道来读取所有 PDF,并使用 tidytext 和 purrr 中的map函数取消嵌套它们。您可以使用mutate()map()标注每一个符合的文件名,如果你愿意的话。

library(pdftools)
library(tidyverse)
library(tidytext)

map_df(all_pdfs, ~ data_frame(txt = pdf_text(.x)) %>%
    mutate(filename = .x) %>%
    unnest_tokens(word, txt))
Run Code Online (Sandbox Code Playgroud)

您需要做一些更有趣的工作来获得标题和作者列,具体取决于您在何处获得该信息。也许在取消嵌套之前txtfilename之前使用正则表达式?