2011-07-07 5 views
6

Me preguntaba si hay alguna posibilidad de paquete de minería de texto de R que tiene la siguiente característica:R paquete de minería de texto: Si se permite la incorporación de nuevos documentos en un corpus existente

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

Tu lugar ideal para incorporar documentos adicionales en el corpus existente.

Cualquier ayuda se agradece

Respuesta

11

Usted debe ser capaz de utilizar simplemente c(,) como en

> 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 

Puede encontrar más en la tm package documentation bajo tm_combine.

+0

Gracias por la respuesta. No sabía sobre el manual actualizado de tm. No estaba en el manual anterior de tm (2010 o versiones anteriores). –

0

También supero este problema en el contexto de los conjuntos de minería de texto de big data. No fue posible cargar todo el conjunto de datos a la vez.

Aquí, es posible otra opción para conjuntos de datos tan grandes. El enfoque consiste en recopilar un vector de un documento corpus dentro de un bucle. Después de procesar todos los documentos como este, es posible convertir este vector en un gran corpus, p. para crear un DTM en él.

# 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"]))) 
Cuestiones relacionadas