r - tidytext 从文件夹中读取文件

标签 r nlp tidytext

我正在尝试将一个 pdf 文件文件夹读入 R 中的数据帧。我可以使用 pdftools 读取单个 pdf 文件。图书馆和 pdf_text(filepath) .

理想情况下,我可以获取一系列 pdf 的作者和标题,然后将这些 pdf 推送到具有这些列的数据框中,以便我可以使用基本的 tidytext文本上的函数。

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

library(pdftools)
library(tidytext)
library(dplyr)
txt <- pdf_text("filpath")
txt <- data_frame(txt)
txt %>%
     unnest_tokens(word, txt)

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

最佳答案

要查找工作目录中的所有 PDF,您可以使用 list.files有一个论点:

all_pdfs <- list.files(pattern = ".pdf$")
all_pdfs对象将是一个包含所有文件名的字符向量。

然后,您可以设置一个管道来读取所有 PDF 并使用带有 map 的 tidytext 取消嵌套它们。来自 purrr 的函数。您可以使用 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))

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

关于r - tidytext 从文件夹中读取文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44254493/

相关文章:

python - 如何根据多个已排序项目列表制作一个已排序项目列表?

r - 按函数名称在调用堆栈中查找父环境

基于另一列的 R 动态列名称

r - 对 GGplot2 使用 react 数据集?

string - 字符串标记化程序过滤器,例如Elasticsearch中的Shingle

r - tidytext 错误(is_corpus_df(语料库)中的错误 : ncol(corpus) >= 2 is not TRUE)

nlp - 是否有必要在使用 Spacy、Bert 时对文本分类进行停用词移除、词干提取/词形还原?

Ruby:有没有 "knows"英文不规则动词的词干分析器?

从数据框中删除停用词

r - Tidyverse unnest_tokens 在函数内部不起作用