Estimados, les escribo para consultar, lo siguiente: Estoy haciendo un trabajo de text mining y necesito importar una serie de textos para preprocesarlos, es decir eliminar los Stopwords, hacer stemming, eliminar signos de puntuación etc. Esto último lo puedo realizar con los datasets que trae la librería TM. Lo que no puedo lograr es importar texto desde algún medio a pesar que existe funciones para importar desde PDF, doc, texto plano. Si alguno me puede ayudar desde ya les estoy muy agradecido. Saludos Mauro [[alternative HTML version deleted]]
Carlos J. Gil Bellosta
2009-Jul-20 00:35 UTC
[R-es] Ayuda con el paquete de text mining (TM)
Hola, ¿qué tal? ¿Puedes proporcionarnos más detalles? Por ejemplo, en qué formatos tienes los textos, cómo estás intentando leerlos, qué error obtienes, etc. Ten cuidado con el algoritmo de stemming de R: es algo burdo y está pensado sólo para el inglés... Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com On Fri, 2009-07-17 at 20:33 -0300, Mauro Alexis wrote:> Estimados, les escribo para consultar, lo siguiente: > Estoy haciendo un trabajo de text mining y necesito importar una serie de > textos para preprocesarlos, es decir eliminar los Stopwords, hacer stemming, > eliminar signos de puntuacin etc. Esto ltimo lo puedo realizar con los > datasets que trae la librera TM. Lo que no puedo lograr es importar texto > desde algn medio a pesar que existe funciones para importar desde PDF, doc, > texto plano. > Si alguno me puede ayudar desde ya les estoy muy agradecido. > Saludos > Mauro > > [[alternative HTML version deleted]] > > _______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es
Estimado Carlos, te cuento que que he logrado importar los textos que me habían enviado, de todas formas lo comento por si alguien tiene la misma duda y para que me indiques, según tu experiencia, si es correcto el procedimiento de importación: Los textos (614 en total) son opiniones sobre libros y me los han enviado en un archivo de excel. cabe aclarar que todos los textos están en castellano. Lo que realicé es crear un data frame con dichos textos (Datos). Luego con las siguiente lineas creé 614 archivos de texto plano. i<-1 for (i in 1:length(Datos$texto)){ write.table(Datos$texto[i],file=paste("texto",as.character(i),".txt", sep = ""), quote = FALSE, row.names = FALSE, col.names=FALSE) i=i+1} Luego haciendo uso de las funciones de la librería tm creo un objeto de tipo corpus de la siguiente forma: my.path <- ''C:\\Users\\Desktop\\Text\\'' ## Indico el directorio en donde tengo almacenado todos los textos. my.corpus <- Corpus(DirSource(my.path), readerControl list(reader=readPlain, language = "spanish")) inspect(my.corpus) Luego realizo el siguiente preprocesamiento: my.corpus <- tmMap(my.corpus, removeWords, stopwords("spanish")) ## Elimino las stopwords my.corpus <- tmMap(my.corpus, removeNumbers) ##Remuevo los números my.corpus <-tmMap(my.corpus, removePunctuation) ## Remuevo los signos de puntuación my.corpus <- tmMap(my.corpus, tmTolower) ##Convierto todos los textos a minúscula my.corpus <-tmMap(my.corpus, stripWhitespace) ##Elimino los espacios dobles Como tu me has advertido la instrucción para stemming de la librería tm solo procesa texto en inglés. He comprobado que existen otras librerías para realizar dicho procedimiento, por ejemplo la librería Rstem, tiene una función (wordStem) que permite cambiar el idioma (con la función getStemLanguages(), se puede comprobar los idiomas con el cual trabaja el comando), también existe la librería Snowball. He intentado trabajar con ellos sin ningún resultado. ¿Usted que procedimientos utiliza para realizar stemming? Desde ya agradezco su buena voluntad al contestarme, le envío un cordial saludo. ______________________________ *Lic. Mauro Alexis Colombini Docente Departamento de Matemática Facultad de Bioquímica y Cs. Biológicas Universidad Nacional del Litoral CC 242 Santa Fe (S3000ZAA) Argentina Te: +54-342-4575210 Fax:+54-342-4575221* El 19 de julio de 2009 21:35, Carlos J. Gil Bellosta <cgb@datanalytics.com>escribió:> Hola, ¿qué tal? > > ¿Puedes proporcionarnos más detalles? Por ejemplo, en qué formatos > tienes los textos, cómo estás intentando leerlos, qué error obtienes, > etc. > > Ten cuidado con el algoritmo de stemming de R: es algo burdo y está > pensado sólo para el inglés... > > Un saludo, > > Carlos J. Gil Bellosta > http://www.datanalytics.com > > > On Fri, 2009-07-17 at 20:33 -0300, Mauro Alexis wrote: > > Estimados, les escribo para consultar, lo siguiente: > > Estoy haciendo un trabajo de text mining y necesito importar una serie de > > textos para preprocesarlos, es decir eliminar los Stopwords, hacer > stemming, > > eliminar signos de puntuacin etc. Esto ltimo lo puedo realizar con los > > datasets que trae la librera TM. Lo que no puedo lograr es importar texto > > desde algn medio a pesar que existe funciones para importar desde PDF, > doc, > > texto plano. > > Si alguno me puede ayudar desde ya les estoy muy agradecido. > > Saludos > > Mauro > > > > [[alternative HTML version deleted]] > > > > _______________________________________________ > > R-help-es mailing list > > R-help-es@r-project.org > > https://stat.ethz.ch/mailman/listinfo/r-help-es > > >[[alternative HTML version deleted]]
Carlos J. Gil Bellosta
2009-Jul-20 11:21 UTC
[R-es] Ayuda con el paquete de text mining (TM)
Hola, ¿qué tal? Pues una vez tuve que buscar recursos para hacer minería de texto en español y no encontré demasiados. Pero igual se debe más a mi falta de pericia que a su escasez y disponibilidad. Tómese, por tanto, cuanto digo con cierta dosis de precaución. En inglés existen dos tipos de algoritmos para hacer radicalización (stemming): los programáticos y los basados en diccionarios. El método implementado en R es programático: es un conjunto de reglas que dicen que, por ejemplo, si una palabra acaba en "ing", la raíz se obtiene eliminando esas letras (y tal vez algo más). Funciona en algunos casos pero no universalmente y no, obviamente, en español. Los métodos de diccionario son, esencialmente, eso: diccionarios. Es decir, ficheros que contienen dos palabras por fila: la versión con desinencias y la raíz. Una entrada típica sería "trabajé -> trabajar". Aplicar un diccionario es trivial. Lo que no es tanto es obtenerlo. Conseguí, y no me preguntes dónde, uno de tales diccionarios con unas 30.000 entradas en español. El problema del español para aplicaciones de minería de texto radica en que es mucho más flexible y variante que el inglés. La dependencia de los resultados en un buen "procesamiento del lenguaje natural" es crítico. Existen además aspectos del tipo "reconocimiento de las partes del discurso" (distinguir un "caza" verbo de un "caza" sustantivo) que se escapan de este planteamiento simplista. Para hacer las cosas bien en español sería recomendable colaborar con gente que se dedique al procesamiento del lenguaje natural. Aunque si tu corpus es lo suficientemente formal (no se esperan cosas como faltas de ortografía, se utiliza un léxico del que aparece en los diccionarios típicos, etc.) puede que te valga con un diccionario estándar como el que menciono más arriba. Un saludo, Carlos J. Gil Bellosta http://www.datanalytics.com