Пакет интеллектуального анализа текста R: позволяет включать новые документы в существующий корпус - PullRequest
6 голосов
/ 08 июля 2011

Мне было интересно, есть ли шанс, что пакет интеллектуального анализа текста R будет иметь следующую функцию:

myCorpus <- Corpus(DirSource(<directory-contatining-textfiles>),control=...)
# add docs
myCorpus.addDocs(DirSource(<new-dir>),control=...)

В идеале я хотел бы включить дополнительные документы в существующий корпус.помощь приветствуется

Ответы [ 2 ]

11 голосов
/ 08 июля 2011

Вы можете просто использовать c(,), как в

> library(tm)
> data("acq")
> data("crude")
> together <- c(acq,crude)
> acq
A corpus with 50 text documents
> crude
A corpus with 20 text documents
> together
A corpus with 70 text documents

. Более подробную информацию можно найти в документации tm в tm_combine.

0 голосов
/ 27 мая 2017

Я также преодолел эту проблему в контексте наборов интеллектуального анализа текста больших данных.Не удалось загрузить весь набор данных одновременно.

Здесь возможен другой вариант для таких больших наборов данных.Подход заключается в том, чтобы собрать вектор из одного корпуса документа внутри цикла.После обработки всех подобных документов можно преобразовать этот вектор в один огромный корпус, например, создать на нем DTM.

# Vector to collect the corpora:
webCorpusCollection <- c()

# Loop over raw data:
for(i in ...) {

  try({      

    # Convert one document into a corpus:
    webDocument <- Corpus(VectorSource(iconv(webDocuments[i,1], "latin1", "UTF-8")))

    #
    # Do other things e.g. preprocessing...
    #

    # Store this document into the corpus vector:
    webCorpusCollection <- rbind(webCorpusCollection, webDocument)

  })
}

# Collecting done. Create one huge corpus:
webCorpus <- Corpus(VectorSource(unlist(webCorpusCollection[,"content"])))
...