Esta função varre uma pasta em busca de arquivos PDF, extrai texto e datas, processa o texto para encontrar termos relevantes (palavras e n-grams), e opcionalmente usa um modelo de linguagem grande (LLM) para categorizá-los.

process_pdfs_for_wordstream(
  folder_path,
  language = "pt",
  ngram_range = 1:2,
  blacklist = NULL,
  top_n_words = 100,
  categories = "auto",
  top_n_categories = NULL,
  llm_provider = "ollamar"
)

Arguments

folder_path

Caminho para a pasta contendo os arquivos PDF.

language

Idioma dos documentos para seleção da blacklist e stemming. Padrão "pt". Valores possíveis: "pt", "en", "es".

ngram_range

Um vetor numérico indicando os tamanhos de n-gram a serem extraídos. Padrão 1:2 (palavras únicas e bigramas).

blacklist

Uma lista de palavras a serem removidas. Se NULL (padrão), usa uma blacklist interna para o idioma selecionado.

top_n_words

Número máximo de termos a serem retornados, baseado na frequência. Padrão 100.

categories

Define o método de categorização. Padrão "auto". Pode ser:

  • "auto": Se top_n_categories for definido, o LLM criará as categorias livremente.

  • "pos": O LLM atuará como um tagger de Part-of-Speech.

  • "ner": O LLM atuará como uma ferramenta de Named-Entity Recognition.

  • Um vetor de strings (ex: c("Tecnologia", "Finanças")): Força o LLM a usar essas categorias temáticas pré-definidas.

top_n_categories

Número de categorias a serem geradas pelo LLM. Relevante apenas quando categories = "auto". Se NULL (padrão), a categorização por LLM é desativada.

llm_provider

O provedor de LLM a ser usado. Padrão "ollamar". Alternativas: "chatgpt", "claude", etc. (depende do pacote chatLLM).

Value

Um data frame (tibble) "tidy" com as colunas date, term, frequency e category (se a categorização LLM for ativada). Perfeito para usar com prepare_wordstream_data.