Saltar al contenido

Aprendizaje automático con datos de texto usando R

Dado que los datos de texto no tienen el formato tradicional de observaciones en filas y variables en columnas, tendremos que realizar ciertos pasos específicos de texto. La lista de esos pasos se examina en las secciones siguientes.

Paso 1 – Crear el corpus de texto

La variable que contiene el texto debe ser convertida en un corpus para su preprocesamiento. Un corpus es una colección de documentos. La primera línea de código a continuación realiza esta tarea. La segunda línea imprime el contenido del primer corpus, mientras que la tercera línea imprime la puntuación de recomendación correspondiente.

Aprendizaje automático con datos de texto usando R
Aprendizaje automático con datos de texto usando R
1234 corpus = Corpus(VectorSource(t1$Review_Text))corpus[[1]][1]t1$Recomendado_IND[1]

{r}

Salida:

12[1] "Delicioso, material suave, pero muy descolorido. Tanto que lo estoy devolviendo. Si un aspecto descolorido es algo que te gusta, entonces esto es para ti."[1] 0

Mirando el texto de la revisión, es obvio que el cliente no estaba contento con el producto, y por lo tanto dio la puntuación de recomendación de cero.

Paso 2 – Conversión a minúsculas

La modelo necesita tratar las palabras como «suave» y «blando» de la misma manera. Por lo tanto, todas las palabras se convierten en minúsculas con las líneas de código de abajo.

123corpus = tm_map(corpus, PlainTextDocument)corpus = tm_map(corpus, tolower)Corpus[[1]][1]

{r}

Salida:

1[1] "Delicioso, material suave, pero con un aspecto muy descolorido. Tanto que lo estoy devolviendo. Si un aspecto descolorido es algo que te gusta, entonces esto es para ti."

Paso 3 – Eliminar la puntuación

La idea aquí es eliminar todo lo que no sea un número o una letra estándar.

12corpus = tm_map(corpus, removePunctuation)corpus[[1]][1]

{r}

Salida:

1[1] "Un material suave y delicioso, pero muy descolorido, tanto que lo estoy devolviendo. Si un aspecto descolorido es algo que te gusta, entonces esto es para ti"

Paso 4 – Eliminar las palabras clave

Las palabras de parada son palabras inútiles como «i», «es», «en», «yo», «nuestro». No son útiles porque la frecuencia de estas palabras es alta en el corpus, pero no ayudan a diferenciar las clases de objetivos. Por lo tanto, la eliminación de las palabras clave es importante.

La línea de código de abajo utiliza la función tm_map en el $0027corpus$0027 y elimina las palabras de parada, así como la palabra $0027tela$0027. La palabra $0027tela$0027 se elimina porque este conjunto de datos está en la revisión de ropa, por lo que esta palabra no añadirá ningún poder de predicción al modelo.

12corpus = tm_map(corpus, removeWords, c("cloth", stopwords("english")))Corpus[[1]][1]

{r}

Salida:

1[1] "el delicioso material suave se descoloró, con un aspecto muy descolorido, enviando de vuelta un aspecto descolorido algo como

Paso 5 – Rama

La idea detrás de la derivación es reducir el número de formas inflexionales de palabras que aparecen en el texto. Por ejemplo, palabras como «argumentar», «argumentar», «argumentar», «argumentar» se reducen a su raíz común «argumentar». Esto ayuda a reducir el tamaño del espacio de vocabulario. Las líneas de código que se muestran a continuación realizan la derivación en el corpus.

12corpus = tm_map(corpus, stemDocument)Corpus[[1]][1]

{r}

Salida:

1[1] "yummi soft materi fade look much send back fade look someth like"