Как сделать токенизацию с помощью n-gram для файла PDF в R

Я хочу токенизировать PDF-документ с помощью ngrams в R. Я пытался следовать инструкциям здесь по адресу https://www.tidytextmining.com/ngrams.html, но застрять с функцией unnest_tokens().

library(tm)
library(dplyr)
library(tidytext)
library(tidyverse)


filedoc <- "Document2019.pdf"
cname <- file.path(filedoc)
docs <- Corpus(URISource(cname), readerControl=list(reader=readPDF, language = "en")) 

docs_bigrams <- docs %>%
  unnest_tokens(bigram, text, token = "ngrams", n = 2)

Я продолжаю получать это сообщение об ошибке: Error in UseMethod("unnest_tokens_") : no applicable method for 'unnest_tokens_' applied to an object of class "c('VCorpus', 'Corpus')"

Что мне нужно сделать перед запуском функции unnest_tokens? Спасибо.


person dss333    schedule 18.10.2019    source источник
comment
это невозможно воспроизвести без Document2019.pdf.   -  person Diego Rodrigues    schedule 19.10.2019
comment
Используйте pdftools::pdf_text() вместо Corpus для чтения pdf. Он возвращает вектор символов, который вы можете поместить в табличку и использовать с tidytext.   -  person JBGruber    schedule 19.10.2019
comment
Либо сделайте, как предлагает @JBGruber, либо используйте функцию tidy перед unnest_tokens. Tidytext использует функцию tidy для преобразования объектов tm в tibbles.   -  person phiver    schedule 19.10.2019
comment
Спасибо друзья! Я придерживаюсь предложения @phiver, используя функцию tidy.   -  person dss333    schedule 20.10.2019


Ответы (1)


Я соглашаюсь с предложением @phiver, используя функцию tidy, и публикую ответ здесь, чтобы эту тему можно было закрыть/отвечать.

«используйте функцию tidy перед unnest_tokens. Tidytext использует функцию tidy для преобразования объектов tm в tibbles».

Спасибо!

person dss333    schedule 20.10.2019