Minería de textos y clasificación de reseñas de películas a través de RapidMiner.

Una de las tareas más complejas en los métodos de clasificación supervisados es contar con un conjunto de datos etiquetado que permita en una primera instancia entrenar un modelo y luego validar el mismo. Dentro del proceso de minería de textos existen pocos corpus que pueden ser usados para estos procesos. Por tanto, el objetivo será crear un conjunto de datos etiquetado que permita formar un modelo de clasificación para reconocer las reseñas positivas o negativas de un conjunto de películas.

Image for post
Image for post

Fuente de datos: https://www.cinemablend.com/reviews/

Repositorios del proyecto: https://github.com/esdanielgomez/MovieClassificationRMP/

Para este proceso se empieza con la extracción de los enlaces de los comentarios de las películas (1470 en total) a través de 30 páginas en el sitio.

REPOSITORIO: Final_A

Image for post
Image for post

En este caso se están seleccionando tanto el enlace del comentario como su valoración en estrellas (Ponderada entre 1.0 y 5.0):

Image for post
Image for post

REPOSITORIO: Final_B

Image for post
Image for post

Ahora como siguiente paso, se dividen los comentarios en dos secciones: Positivos y Negativos:

Image for post
Image for post

Para los comentarios negativos se realiza la selección de los comentarios con valoración de menor o igual a 3.0:

Image for post
Image for post

Y para los comentarios negativos con valoración mayor a 3.0:

Image for post
Image for post

Posteriormente se obtiene la información de las películas, en el cual, el mas relevante es para este estudio es el atributo Comentario:

Image for post
Image for post

El proceso para obtener los comentarios es el siguiente:

Image for post
Image for post

Finalmente, esos comentarios son almacenados en dos archivos de Excel (datasetComentariosNegativos.xlsx y datasetComentariosPositivos.xlsx).

REPOSITORIO: Final_C

A continuación se seleccionan 650 comentarios de películas por dataset (Positivos y Negativos) y se elaboran dos nuevos datasets para los datos de entrenamiento y los datos para las pruebas posteriores.

Image for post
Image for post

Hasta este momento los datos se encuentran organizados de esta manera:

Image for post
Image for post

REPOSITORIO: Final_D

A continuación, se ejecutan actividades de pre-procesamiento para eliminar las etiquetas HTML, las palabras vacías en Ingles y a través de un diccionario personalizado, entre otros procesos:

Image for post
Image for post

Process Documents from Data:

Image for post
Image for post

REPOSITORIO: Final_D (En el mismo repositorio que la parte 2).

El resultado del proceso previo (Parte 2) devuelve una tabla estructurada que consta de una fila por cada entrada extraída desde la página web y un número de columnas que indican los diferentes tokens que forman parte del documento y su peso de ocurrencia. No obstante intentar ejecutar un proceso de aprendizaje con tantas variables resulta una tarea muy costosa. Por tanto, en este proceso el objetivo es filtrar aquellas columnas (tokens) mediante algún método de selección de características.

Image for post
Image for post

Para ello se emplea el operador Weight of Information Gain para clasificar las características por su relevancia con el atributo de etiqueta basándose en la relación de ganancia de la información.

Image for post
Image for post

Asimismo, se emplea el operador Select by Weights el cual selecciona solo aquellos atributos de un conjunto de entrada cuyos pesos satisfacen el criterio especificado con respecto a los pesos de entrada. En este caso a través del atributo top k en el cual se seleccionan las mejores 90 características del conjunto de datos.

Para construir el modelo de entrenamiento se utilizan dos algoritmos: Naive Bayes y SVM, en el cual se puede identificar cuál proporciona la mejor precisión y rendimiento.

Asimismo, dentro del mismo proceso, se aplican los dos modelos entrenados sobre los datos de prueba y se verifica su precisión (Los datos de este dataset de pruebas son pre-procesados en las partes anteriores).

Image for post
Image for post

Modelo y validación NB (Naive Bayes)

Image for post
Image for post

Modelo y validación SVM (Support Vector Machine)

Image for post
Image for post

Microsoft Learn Student Ambassador

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store