5.3 Comparison of Sample-Join Algorithms
5.3.2 Comparing the run-time
3.2.1.
Representaci´on de Lenguaje
Cada modelo de representaci´on de Lenguaje tiene diferentes par´ametros que en ´ultimas determinan la calidad de la representaci´on. En esta secci´on se van a describir todos los modelos de representaci´on de lenguaje usados y la manera como se variaron sus par´ametros para obtener los mejores resultados.
LDA
Se utiliz´o la implementaci´on presente en la ya nombrada librer´ıa “Gensim”, de Python. Con el objetivo de observar la mejor representaci´on a partir de este modelo, se variaron los siguientes par´ametros:
3.2 Limpieza, Preparaci´on y Manipulaci´on de los Datos 21
no below: Para el diccionario utilizado, se vari´o el par´ametro del m´ınimo n´umero de ocurrencias de una palabra para ser tenida en cuenta. Se vari´o este par´ametro para valores iguales a: [2, 3, 4, 5].
no above: Para el diccionario utilizado, se vari´o el par´ametro del m´aximo porcen- taje de ocurrencias de una palabra. Se vari´o este par´ametro para valores iguales a: [95 %, 90 %, 85 %, 80 %].
num topics: Se vari´o el par´ametro que representa el n´umero de t´opicos que se va a utilizar en la representaci´on, se utilizaron valores iguales a: [100, 150, 200, 250, 300].
Para todas las combinaciones de par´ametros descrita anteriormente se utilizaron 20 ´epocas de entrenamiento y se emple´o un clasificador lineal para obtener un primer estimativo de la precisi´on de un clasificador basado en este modelo de representaci´on de lenguaje, aunque m´as adelante se trata con m´as detalle el tema de la selecci´on del modelo de clasificaci´on.
Word2Vec
De nuevo, se utiliz´o la implementaci´on realizada sobre Python que se encuentra en la librer´ıa “Gensim”, y todas las pruebas realizadas sobre estos modelos fueron a partir de la arquitec- tura Skip-Gram (SG) con un m´etodo de entrenamiento de Negative Sampling (NS), pues a partir de las pruebas preliminares se observ´o un mucho mejor desempe˜no en comparaci´on a la arquitectura de Continuous Bag of Words (CBOW) y al m´etodo de entrenamiento de SoftMax Jer´arquico.
Se realizaron pruebas con modelos entrenados sobre los datos propios, as´ı como con modelos preentrenados que se van a describir m´as adelante. Para los modelos entrenados con el conjunto de datos propio se variaron los siguiente par´ametros:
min count: El par´ametro que representa la ocurrencia m´ınima para cada palabra se vari´o para los siguiente valores: [2, 3, 4, 5, 6].
window: El par´ametro que define el contexto que se utiliza para el entrenamiento del modelo, como se utiliz´o la arquitectura SG, este par´amtro representa el n´umero de palabras anteriores y posteriores que se buscan predecir a partir de la palabra actual. Se vari´o para valores iguales a: [3, 5, 8, 10, 15, 20, 25].
vec sizes: El par´ametro que representa la dimensi´on del espacio a donde se mapean las palabras (tama˜no de los vectores que representan cada palabra), se vari´o para valores iguales a: [100, 150, 200, 250, 300].
Como se mencion´o previamente, se exploraron tambi´en una serie de modelos preentrenados sobre conjuntos de datos de gran tama˜no. A continuaci´on se hace una breve descripci´on de cada uno de estos modelos preentrenados usados:
22 3 Metodolog´ıa
Google’s pretrained Word2Vec model in Python: Modelo entrenado a partir del conjunto de datos “Google’s news dataset”, entrenado con un total de 100 billones3 de
palabras, con un vocabulario de 3 millones de palabras distintas.
Stanford’s pretrained GloVe model for Twitter: Siendo GloVe otro modelo para la representaci´on de lenguaje, gensim permite cargarlo como un modelo de Word2Vec en Python. Entrenado con un total de 27 billones de palabras provenientes de tweets, con un vocabulario de 1,2 millones de palabras distintas.
De nuevo, para todos los modelos probados se us´o un clasificador lineal para obtener una noci´on del desempe˜no del modelo de representaci´on de lenguaje.
FastText y Doc2Vec
Son dos extensiones de Word2Vec donde se tienen en cuenta aspectos adicionales. En el caso de Doc2Vec (D2V), se agrega un par´ametro a cada oraci´on que es un identificador represen- tando el documento del cual proviene, y se entrena teniendo en cuenta tambi´en esta entrada. Para FastText se tienen en cuenta subpalabras, en general propone realizar el entrenamiento a partir de particiones de las palabras (n-grams) en lugar de palabras completas. De nuevo, estas dos estrategias est´an implementadas en la librer´ıa “Gensim” de Python.
Para estos dos modelos, de igual manera se realiz´o una variaci´on en los par´ametros (son los mismos que para el caso de modelos de W2V):
min counts: [2, 3, 4, 5, 6].
window: [3, 5, 8, 10, 15, 20, 25].
vec sizes: [100, 150, 200, 250, 300].
3.2.2.
Preprocesamiento
Se realizaron dos tipos de preprocesamiento a los documentos antes de entrenar los mode- los de representaci´on de lenguaje, esto dado que cada modelo se entrena, y representa las palabras (y las oraciones) de manera distinta. El primer preprocesamiento se usa para los modelos de W2V y todos los que se extienden de este (Doc2Vec, FastText), mientras que el segundo se usa solamente para modelos de LDA.
3.2 Limpieza, Preparaci´on y Manipulaci´on de los Datos 23
Preprocesamiento W2V
Teniendo el texto tal como se muestra en la figura 3-3, se siguen estos pasos:
1. Remover palabras no ASCII, agregando una palabra artificial (“pipwv”) para no afectar el entrenamiento del modelo, pues este entrenamiento tiene en cuenta la dis- tancia existente entre las distintas palabras de la ventana de contexto.
2. Pasar todo el texto a letras min´usculas, esto con el objetivo de normalizar los caracteres de las palabras, o sea que una palabra no sea tomada de manera distinta por tener alguna de sus letras en may´uscula.
3. Remover signos de puntuaci´on, pues aunque en algunos casos pueden tener un significado sem´antico, por lo general incluyen ruido en el entrenamiento.
4. Remover m´ultiples espacios, con el objetivo de no tener cadenas o palabras vac´ıas que no representan nada.
5. Remover caracteres no alfanum´ericos, pues de igual manera que en el caso de los signos de puntuaci´on, si bien en algunos casos pueden tener alg´un significado para el entrenamiento, por lo general s´olo aportan ruido.
6. Tokenizar, que consiste en representar una oraci´on como un vector de palabras.
Figura 3-5: Distribuci´on de Palabras luego de Preprocesamiento W2V
En la figura 3-5 se muestra la distribuci´on de las palabras m´as usuales en el conjunto de datos “Democrat Vs. Republican Tweets” luego de realizar el preprocesamiento propuesto para los modelos basados en arquitecturas W2V. Es importante notar que las palabras m´as usuales en su mayor´ıa son palabras “vac´ıas”, que s´olo cobran importancia a la hora de tener en cuenta la distancia entre palabras al realizar el entrenamiento. Es interesante ver adem´as que la palabra artificial, que fue agregada para reemplazar todas las palabras formadas por
24 3 Metodolog´ıa
caracteres no ASCII, se encuentra como una de estas palabras m´as usuales en la distribuci´on, en general este tipo de palabras pudieron haber incluido mucho ruido de entrenamiento a los modelos.
Preprocesamiento LDA
Este preprocesamiento parte del anterior, por lo que los pasos descritos a continuaci´on fueron realizados luego de haber hecho el preprocesamiento propuesto para W2V.
1. W2V.
2. Remover las palabras “vac´ıas” (incluyendo la palabra artificial agregada en el anterior preprocesamiento), pues estas no tienen relevancia cuando se quiere realizar una representaci´on por t´opicos.
3. Lematizar, o sea, reducir las palabras a su m´ınima ra´ız, con el objetivo de normalizar palabras que pueden estar conjugadas pero en general tienen significado sem´antico igual (o muy parecido).
4. Filtrar, pues en general no se quieren palabras que sean muy usuales o muy raras, que pueden brindar mucho ruido al entrenamiento.
5. Representar el documento como Bag Of Words (t´ecnica descrita en el Marco Te´orico).
Figura 3-6: Distribuci´on de Palabras luego de Preprocesamiento LDA
En la figura 3-6 se muestra la distribuci´on de las palabras m´as usuales en el conjunto de datos “Democrat Vs. Republican Tweets”, luego de realizar el preprocesamiento propuesto para los modelos basados en LDA. En este caso, las palabras tienen significado por s´ı solas, por lo que de manera cualitativa se podr´ıan caracterizar como valiosas para inferir t´opicos (que es el objetivo de LDA).