• No results found

Chapter 4: Research Methodology

4.3 Potential Limitations

En esta sección se tratan aspectos más concretos del modelo predictivo, en donde se hace hincapié en dos cuestiones. La primera relacionada a la representación de la información de entrada de las redes neuronales, la cual se basa en la teoría de word-embeddings, y la segunda relacionada a las teorías a emplear para cada enfoque de clasificación.

3.3.1. Representación de la Información

Cabe destacar que la entrada de las redes neuronales no constituye los mensajes concretos. La representación de los mensajes proviene en forma textual, por lo cual son incompatibles con el formato de entrada de las redes. Existen varios enfoques a utilizar para discretizar la información, para compatibilizarla con la entrada de los modelos predictivos. El clásico enfoque es la bolsa de palabras, que consiste a grandes rasgos en un vector que contabiliza la cantidad de ocurrencias de cada palabra, dado un vocabulario. Dicho método es bastante limitado debido a que no contempla información sobre la relación entre las palabras; sólo se limita a contarlas.

50

La representación por la cual se optó fue Word-Embeddings, que consiste en representar cada palabra con un vector de longitud fija. Cada elemento de dicho vector, indica la relación de intensidad de la palabra original, con otro concepto. Por ejemplo, si se cuenta con un vector de conceptos para el cual el elemento de la i-ésima posición corresponde al concepto “es hombre”, la palabra “rey”, tendrá un valor de 0.99 en la i-ésima posición de su vector correspondiente. A partir de este enfoque, se pueden relacionar palabras, que en caso de haber utilizado bag of words, no hubiese sido posible. En caso de querer profundizar en el concepto de word-embeddings, en el Capítulo 2 se realiza una explicación detallada, junto con el resto de la base teórica empleada. Como los mensajes que se quieren clasificar consisten en documentos (oraciones), y no palabras únicas, se optó por tomar la idea de word-embeddings y adaptarla a este tipo de problemática. El procedimiento utilizado fue la elaboración de un promedio de embeddings para cada oración. Como cada oración se puede modelar como una lista de palabras, cada palabra es mapeada a su correspondiente embedding. De esta manera, la lista de palabras original pasa a ser una lista de embeddings. Por último, se toma la lista de embeddings, y se la promedia, para así obtener un solo embedding, que representa a una oración. Así se constituyó la entrada para las redes neuronales, siendo vectores de longitud fija, representando a cada oración, como puede observarse en la Figura 3.8.

Figura 3.8. Ejemplo ilustrativo de representación de documentos. La idea de word-embedding se extiende a oraciones elaborando un promedio, a partir del embedding asociado a cada palabra.

51

3.3.2. Técnicas a Emplear

Los enfoques fueron todos desarrollados bajo la misma idea de clasificación por etapas, variando únicamente en la arquitectura empleada para el desarrollo de dichos clasificadores. Los primeros dos enfoques consisten en redes neuronales feedforward. Este tipo de redes están formadas por neuronas que no forman ciclos. El primer enfoque consiste en redes neuronales simples, es decir, redes que aplican funciones de activación sobre solamente capas densas. Además de dichas capas, se emplean otras capas cuyo objetivo es reducir el impacto negativo que afecta a todas las aplicaciones de aprendizaje profundo: el overfitting. Dentro de éste área gran parte del trabajo es combatir a dicho suceso, el cual puede causar graves problemas en caso de probar los clasificadores en producción, ya que se utilizarían ejemplos que no pertenecen a la distribución de datos con la cual se entrenó el clasificador. Las capas utilizadas fueron las conocidas de Batch Normalization y Dropout, que si bien el objetivo de las mismas es reducir el overfitting, generan otras cuestiones que se discuten en detalle en el Capítulo 5, relacionado a la implementación concreta del modelo predictivo.

El segundo enfoque empleado, también consiste en redes neuronales feedforward, aunque en este caso, se trabaja no sólo con capas densas, sino que se recurre a un concepto muy común en el área de Computer Vision: la convolución. Las redes neuronales convolucionales son muy útiles para la extracción de características en los datos que se quieren clasificar. Si bien intuitivamente se puede suponer que la utilización de las mismas se limita solamente a clasificación de imágenes, se ha probado que igualmente son útiles para su utilización en word-embeddings. En el Capítulo 2 se realiza un repaso sobre los trabajos relacionados, en donde entre ellos se hace mención a diversos trabajos de redes convolucionales a partir de word-embeddings.

Luego se experimenta con un enfoque de redes neuronales recurrentes. Este tipo de redes se diferencian de los dos anteriores por poseer ciclos entre sus nodos. Dicha característica es determinante para detectar ciertas dependencias dentro de una misma instancia (en este caso un mensaje), lo cual es de suma importancia en casos de clasificación de texto.

Dentro de las redes recurrentes, se destacan dos tipos de celdas: LSTM y GRU. La segunda es más simple que la primera en cuanto a necesidad de cómputo, por lo tanto, es más escalable. Pero, por otro lado, las LSTM suelen ser mejores debido a mayor capacidad de aprendizaje, constituyendo la opción por defecto con la cual experimentar. Dadas las características del problema a resolver, y al volumen de información con el cual se maneja, se experimentará con LSTM.

Por último, se agrega un cuarto enfoque para la experimentación, empleando los conceptos de los últimos dos enfoques en la misma arquitectura de red neuronal. Esto quiere decir que se desarrollará un modelo predictivo utilizando capas convolucionales y recurrentes. La idea detrás de esta decisión radica en que las convoluciones son muy interesantes para la extracción o detección de características en la entrada de los modelos. Por otro lado, en los patrones que descubran las capas convolucionales, es posible que aún existan dependencias entre las características de un mismo ejemplo. En ese punto entran las capas recurrentes.

52

Las arquitecturas de redes neuronales generalmente pueden dividirse en dos secciones. Mientras que la primera se encarga del tratamiento y descubrimiento de patrones, la segunda se encarga de la clasificación propiamente dicha. Con respecto a esa clasificación, siempre se utilizan redes neuronales planas, es decir, capas densas. Lo que luego varía, en cada enfoque propuesto, es la primer sección de la arquitectura, que es lo que constituye cada uno. Para el segundo enfoque se utilizó redes convolucionales, y en el tercero recurrentes. Para la segunda sección de la arquitectura de cada enfoque, se utilizan capas densas para realizar la clasificación final para obtener la categoría asociada a cada mensaje. La Figura 3.9 explica de forma gráfica la apariencia que suelen tener las arquitecturas de redes neuronales, cuya forma de plantearse es la adoptada en la solución propuesta.

Cabe destacar que, con respecto al planteo original de utilizar clasificación por etapas, se requieren cinco clasificadores. Los enfoques planteados se utilizan para los cinco clasificadores por motivos de simpleza, evitando complejizar la experimentación al probar todas las combinaciones posibles. Por ejemplo, para el enfoque de convolucionales, se utilizó el mismo enfoque para los cinco clasificadores, procediendo de forma análoga para el resto de los enfoques.

Figura 3.9. A lo largo de los enfoques propuestos, la variación que se introduce corresponde a la Sección 1, en donde se experimenta con redes convolucionales (CNN), recurrentes (RNN) y combinaciones de ellas (CRNN). La segunda sección, encargada de clasificar, debe estar siempre presente al estar trabajando con un

problema de clasificación de texto.

3.4. Conclusión

En este capítulo se efectuó el desarrollo de la propuesta de solución para el presente trabajo de grado. Dicha propuesta consistió en una aplicación web que se encarga de generar perfiles de usuario, a partir de un conjunto de mensajes provisto por el usuario de la herramienta. En el

53

conjunto de mensajes se pueden incluir mensajes de diferentes sesiones de trabajo, lo cual permite observar los perfiles de usuario para cada individuo, para cada sesión en donde participó. De esta manera a través de gráficos y tablas pudo apreciar las diversas fluctuaciones que se puedan dar en los indicadores, a lo largo del tiempo. De esta manera se dejó asentado la visión general de la herramienta para que en el capítulo siguiente se pueda atacar de lleno la implementación de la aplicación.

En la primer sección se cubrieron detalles relacionados a la estructura de la herramienta, separando la explicación de la misma en la aplicación web, y en la aplicación que corre por detrás. Además de la posibilidad de obtener los perfiles de usuario a partir del conjunto de mensajes que provea un usuario, se mostró que la aplicación también ofrece la posibilidad de persistir remotamente los resultados de la clasificación, a fin de no tener que reclasificar todo el dataset en cada momento que el usuario lo necesite. Esto tiene especial relevancia en aquellos casos donde el dataset es muy extenso, lo cual se asocia a tiempos de espera más elevados.

En la Sección 3.2. se descendió un nivel más en la abstracción, en donde además de haber comentado el proceso de desarrollo del modelo predictivo, se proveen detalles de la estructura del modelo. Ya que al tener que predecir conductas, las mismas pueden agruparse en reacciones, lo cual permite el desarrollo de mejores modelos predictivos. En una primer etapa se dispuso de un clasificador de reacciones, y en la segunda etapa se tuvo otro clasificador para las conductas agrupadas bajo la reacción correspondiente. Luego se tuvo que, a partir de las conductas, se las mapea hacia los indicadores Symlog, resultando en los perfiles de usuario finales.

Por último, en la Sección 3.3., se descendió otro nivel más en el desarrollo del modelo predictivo. Se comentó que se realizan experimentaciones empleando diversas teorías de aprendizaje profundo, pasando desde las redes más básicas, hasta modelos híbridos que emplean tanto redes convolucionales como recurrentes dentro del mismo modelo. Además, se efectuó una introducción de la representación de la información a emplear, la cual se basa en la teoría de word-embeddings, en donde en este caso se va a tener a un vector de longitud fija que representa a una determinada oración o mensaje.

54