Читать книгу Innovando la educación en la tecnología - Группа авторов - Страница 34
2.2 Desarrollo del modelo
ОглавлениеPara determinar la polaridad de las noticias se decidió usar una granularidad a nivel del documento, esto se debe a que una noticia posee un texto extenso, entonces es necesario poder obtener la polaridad de este en forma conjunta, pues a lo largo del escrito puede haber diferentes puntos de vista, tomar la granularidad a nivel de oración podría haber sido perjudicial para la tarea de clasificación.
El modelo de aprendizaje de máquinas seleccionado fue de redes neuronales recurrentes, en específico el tipo LSTM (Hochreiter y Schmidhuber, 1997), este tipo se escogió debido a la capacidad de poder “recordar” los elementos de un texto, esto es fundamental en el análisis de textos largos porque de esta manera se puede capturar su contexto completo.
Para normalizar los datos de entrada (inputs) del modelo se usó la técnica de mean pooling por dos motivos: 1) para controlar la cantidad de features que van a ser recibidas por la capa de regresión logística; 2) para extraer la información promedio de cada texto, tomando en cuenta toda la información del texto, esto quiere decir que todos los valores son usados para realizar un mapeado de features.
Para determinar la clasificación de las noticias, en la capa final de la red neuronal, se usó una regresión logística, debido a que la salida de la red LSTM normalizada por el average pooling brinda valores entre 0 y 1, lo cual demuestra una probabilidad de ser positivos o negativos, pero para ser aún más exactos, se decidió usar la regresión logística ya que sólo se cuenta con dos posibles clasificaciones, positivas o negativas.
Se decidió recolectar un dataset propio de noticias de medios de comunicación locales, debido a que no existe uno. Igualmente, se recurrió al uso de técnicas de limpiado de datos como la eliminación de signos de puntación y de stopwords, ya que ambos no agregan valor para la tarea a realizar. Luego se realizó un muestreo aleatorio en la base de datos para tenerla en una relación de 1:1 con respecto a noticias positivas y negativas, esto con el fin de que no exista un bias a la hora de entrenar el modelo.
El modelo propuesto es una variación de la red neuronal LSTM. En esta variación, la activación que ocurre en la puerta de salida de la capa LSTM no depende de su estado Ct, esto permite realizar parte de las operaciones necesarias en paralelo, volviendo el modelo mucho más eficiente computacionalmente, menos tiempo en entrenar el modelo sin algún impacto notable en la efectividad del modelo (Gers, Schmidhuber y Cummins, 2000).
Las ecuaciones siguientes describen como se actualiza la capa LSTM en cada unidad de tiempo t, según el modelo propuesto.
1) Es el input (datos de entrada) de la capa LSTM en un tiempo t.
2) Wf, Wc, Wo, Ui, Uf, Uc, Uo y Vo son matrices de weights (pesos del modelo).
3) bi, bf, bc y bo son vectores “bias”.
Primero, se calculan los valores para la puerta de entrada y el valor candidato para los estados de la capa LSTM en un tiempo t.
Donde it es el valor de la puerta de entrada en un tiempo t y σ es la función de activación.
Donde es el valor candidato para los estados de la red LSTM en un tiempo t.
Luego se calcula el valor de la función de activación ft de las puertas de olvido en un tiempo t.
Luego de obtener el valor de la función de activación de la puerta de entrada, el valor de la función de activación de la puerta de salida y el valor candidato para los estados de la capa LSTM, se pasa a calcular el nuevo estado Ct de la capa LSTM en un tiempo t.
Donde es el valor candidato para los estados de la red LSTM en un tiempo t.
Una vez calculado el nuevo estado Ct de la capa LSTM, se puede obtener el valor de sus puertas de salida y, como consecuencia, la salida final ht de la capa LSTM.
Donde ot es el valor de la puerta de salida de la red LSTM y σ es la función de activación.
La estructura final del modelo a usar consiste en una sola capa de redes neuronales LSTM, luego se implementará una capa de normalización (mean pooling), esto va a disminuir la variancia entre los valores, debido a que se va a tomar un promedio de la cantidad de datos para realizar un mapeo final de features. Después se implementará una capa de regresión logística para obtener una mayor eficacia a la hora de clasificar las noticias.