C.2 Reproducibility
5.3 Further issues with regards to variable transformations
El algoritmo de aprendizaje activo sigue la misma estructura que el algoritmo de autoaprendizaje descrito en la sección 6.3.4, tomando como entrada casi los mismos parámetros iniciales:
• Un conjunto de entrenamiento etiquetado para entrenar el modelo supervisado inicial.
• Un conjunto de evaluación etiquetado para registrar el desempeño del modelo antes y después de terminadas las iteraciones del algoritmo de autoaprendizaje.
• Un conjunto de datos no etiquetados para obtener los nuevos datos a anotar manualmente.
• Un clasificador probabilístico para usar en el procedimiento de anotación.
• Un número máximo de elementos para anotar en cada iteración.
• Una tolerancia de error como criterio de parada.
Las diferencias fundamentales en este caso residen en los siguientes puntos: (i) cómo el modelo selecciona las instancias para etiquetar a partir del conjunto de datos sin etiquetar, (ii) cómo se anotan esas instancias, (iii) cómo el modelo decide si se deben incluir nuevas instancias en el corpus de capacitación, (iv) cómo termina el algoritmo.
7.3.4.1 Selección de instancias y anotación
En cada iteración del algoritmo, una vez que el clasificador es entrenado con los ejemplos recolectados hasta el momento (ambos parte del conjunto inicial de datos de semillas o de las anotaciones del oráculo) el algoritmo aplica el clasificador a todo el conjunto de datos no anotados. A partir de la anotación automática de ese conjunto de ejemplos sin etiquetar, el algoritmo toma aquellos de los que el clasificador está menos seguro y los presenta al oráculo para su anotación manual. Esto se denomina
muestreo por incertidumbre, es decir, seleccionar aquellos casos en los que la certeza del clasificador es baja. Se supone que esas instancias están cerca de los límites de decisión del modelo. La intuición detrás del uso de este método en lugar de dar al azar los ejemplos de oráculo para anotar es que estos ejemplos tendrán el mayor impacto en el modelo final, es decir, el modelo mejorará su precisión al máximo. Esto se debe a que el clasificador gana confianza en esas clases e instancias sobre las que tiene menos información en el corpus de semillas etiquetadas. Esta es una forma de optimizar el aprendizaje con una cantidad determinada de datos de formación, mejorando la calidad (no la cantidad) de los ejemplos de formación.
A diferencia del autoaprendizaje, que selecciona todas las instancias por encima de un umbral, en el aprendizaje activo hay un número máximo de instancias posibles. Se
da como parámetro inicial del algoritmo. Este número es seleccionado empíricamente y debe ser lo suficientemente grande para hacer una diferencia en el nuevo modelo, pero no demasiado grande para que el oráculo dedique demasiado tiempo a anotar, ya que el aprendizaje activo ofrece una forma inteligente de minimizar el esfuerzo de anotación. Después de algunos experimentos, se seleccionó el número de 10 ejemplos por iteración como base para los experimentos en este capítulo.
El oráculo anota los ejemplos seleccionados por el algoritmo de aprendizaje activo, que luego se añaden al modelo. Sin embargo, hay un problema, como expliqué antes: el corpus inicial anotado puede no tener una etiqueta correcta para algunos ejemplos porque no fue considerado originalmente cuando se diseñó el léxico. En esos casos, para reducir el número de posibilidades a considerar y como está fuera del alcance de esta tesis extender el recurso, decidí ignorar ejemplos pertenecientes a un sentido no presente en SenSem.
7.3.4.2 Validación del modelo y parada temprana del algoritmo
Una vez que las instancias son anotadas por el oráculo, el siguiente paso es, como en el autoaprendizaje, añadirlas como nuevos ejemplos de entrenamiento. Sin embargo, el algoritmo comprueba primero el impacto de añadir estos nuevos ejemplos al modelo, evaluando el rendimiento del modelo con el corpus de entrenamiento más grande.
Para el autoaprendizaje, esto se hizo utilizando un conjunto de datos de validación extraído del conjunto de datos original. Al principio pensé en utilizar la validación cruzada sobre el conjunto de datos de formación en autoaprendizaje, pero finalmente abandoné la idea. La tendencia del algoritmo de autoaprendizaje a añadir todo como parte de la clase más frecuente puede haber introducido sesgos en ese método de validación.
Sin embargo, para el aprendizaje activo esto no es un problema. Como la anotación no se deja al clasificador sino a un humano, la tendencia a anotar todo como la clase más frecuente no prevalece tanto. Decidí entonces usar la validación cruzada sobre los ejemplos de capacitación y ver la media del error de clasificación errónea obtenido de ella como la métrica para validar el impacto de los nuevos ejemplos de capacitación en el modelo.
La razón principal para utilizar la validación cruzada sobre el conjunto de datos de formación y no un conjunto de datos de validación como en el autoaprendizaje es por- que, a diferencia del autoaprendizaje, este algoritmo puede añadir ejemplos de clases no vistas por el modelo hasta ahora. Recuerde que algunos sentidos fueron filtrados del corpus SenSem porque no tenían suficientes instancias disponibles. Además, algu- nos de los sentidos del léxico no tienen ningún ejemplo. Bien, estos sentidos ocurren en un corpus más grande como SBWCE, y como el clasificador no tendrá suficiente información inicialmente sobre esos sentidos, es probable que se escojan ejemplos de esos para darle al oráculo usando la técnica de muestreo de incertidumbre.
Como pueden añadirse nuevos ejemplos de clases no vistas a los datos de formación, esto puede dar lugar a que el corpus de validación no refleje el rendimiento real del
modelo. La razón es que el corpus de validación no tiene ninguna información sobre las nuevas clases no vistas que el modelo está añadiendo.
Una vez que el algoritmo calcula el error de clasificación a partir de la validación cruzada sobre el conjunto de datos de formación, aplica el mismo principio que el algoritmo de autoaprendizaje, lo compara con el error mínimo obtenido hasta el mo- mento y da una tolerancia de un máximo del 10 % menos que el azar. Si el error en el nuevo modelo es mayor, el algoritmo descarta el modelo y devuelve el último modelo obtenido hasta el momento. Como requiere anotación humana, el algoritmo también proporciona la opción para que el humano detenga las iteraciones cuando quiera.
7.3.4.3 Dificultades para la anotación manual
La anotación de los ejemplos seleccionados por el algoritmo sobre la base de una gran incertidumbre presentaba dos dificultades principales: la ambigüedad y la cobertura de las clases disponibles en el recurso.
Dado que el inventario de los sentidos es dado por el ser humano, es arbitrario, moldeado por el ser humano creando el recurso y el objetivo final que dicho recurso tiene. Esto significa que dependiendo de estas variables, el inventario de los sentidos puede ser de grano grueso o fino. Esto, por supuesto, afecta a las posibilidades de anotar, ya que un inventario más grueso puede caer en el problema de tener sentidos que son adecuados para más de un sentido. Como el algoritmo seleccionó aquellas ins- tancias que están cerca de los límites de decisión, un problema común es dar ejemplos de oráculo que son ambiguos incluso para que el oráculo pueda discernir.
Además del problema de tener sentidos con límites de decisión borrosos, que se superponen entre sí, el otro problema que puede tener el recurso es la falta de cober- tura. Por lo tanto, hay algunos ejemplos que no son adecuados para ninguno de los sentidos que se dan en el recurso. Esto es particularmente común ya que una parte importante del corpus de la SBWCE consiste en libros escritos en español antiguo (es decir, los compilados en la iniciativa Wikisource). Así, hay algunos sentidos que cayeron en desuso y no fueron considerados en la construcción del recurso.