En lingüística computacional, el algoritmo de Yarowsky es un algoritmo de aprendizaje no supervisado para la desambiguación del sentido de las palabras que utiliza las propiedades de "un sentido por colocación " y "un sentido por discurso" de los lenguajes humanos para la desambiguación del sentido de las palabras. A partir de la observación, las palabras tienden a exhibir solo un sentido en la mayoría de los discursos y en una colocación dada.
Solicitud
El algoritmo comienza con un corpus grande y sin etiquetas , en el que identifica ejemplos de la palabra polisémica dada y almacena todas las oraciones relevantes como líneas. Por ejemplo, Yarowsky usa la palabra "planta" en su artículo de 1995 para demostrar el algoritmo. Si se supone que hay dos posibles sentidos de la palabra, el siguiente paso es identificar una pequeña cantidad de colocaciones de semillas representativas de cada sentido, dar a cada sentido una etiqueta (es decir, sentido A y B), luego asignar la etiqueta apropiada a todos los ejemplos de entrenamiento que contienen las colocaciones de semillas. En este caso, las palabras "vida" y "fabricación" se eligen como colocaciones de semillas iniciales para los sentidos A y B respectivamente. Los ejemplos residuales (85%–98% según Yarowsky) permanecen sin etiquetar.
El algoritmo debe elegir inicialmente colocaciones semilla representativas que distinguirán los sentidos A y B de forma precisa y productiva. Esto se puede hacer seleccionando palabras semilla de la entrada de un diccionario para ese sentido. Las colocaciones tienden a tener un efecto más fuerte si están adyacentes a la palabra objetivo; el efecto se debilita con la distancia. De acuerdo con los criterios dados en Yarowsky (1993), se seleccionarán las palabras semilla que aparezcan en las relaciones colocacionales más confiables con la palabra objetivo. El efecto es mucho más fuerte para las palabras en una relación predicado-argumento que para asociaciones arbitrarias a la misma distancia de la palabra objetivo, y es mucho más fuerte para las colocaciones con palabras de contenido que con palabras de función. Habiendo dicho esto, una palabra de colocación puede tener varias relaciones colocacionales con la palabra objetivo en todo el corpus. Esto podría dar a la palabra diferentes clasificaciones o incluso diferentes clasificaciones. Alternativamente, se puede hacer identificando una única colocación definitoria para cada clase y utilizando como semillas solo aquellos contextos que contienen una de estas palabras definitorias. Una base de datos disponible públicamente, WordNet, se puede utilizar como una fuente automática para tales términos definitorios. Además, las palabras que aparecen cerca de la palabra objetivo con gran frecuencia se pueden seleccionar como combinaciones de semillas representativas. Este enfoque no es completamente automático, un juez humano debe decidir qué palabra se seleccionará para el sentido de cada palabra objetivo; los resultados serán indicadores confiables de los sentidos.
Luego se utiliza un algoritmo de lista de decisiones para identificar otras colocaciones confiables. Este algoritmo de entrenamiento calcula la probabilidad Pr(Sense | Collocation) y la lista de decisiones se clasifica según la razón de verosimilitud logarítmica:
Luego se utilizará un algoritmo de suavizado para evitar valores 0. El algoritmo de lista de decisiones resuelve muchos problemas en un gran conjunto de fuentes de evidencia no independientes utilizando solo la pieza de evidencia más confiable en lugar de todo el conjunto de colocaciones coincidentes.
El nuevo clasificador resultante se aplicará entonces a todo el conjunto de muestras. Agregue aquellos ejemplos en el residuo que estén etiquetados como A o B con probabilidad por encima de un umbral razonable a los conjuntos de semillas. El algoritmo de lista de decisiones y el paso de adición anterior se aplican de forma iterativa . A medida que se agregan más colocaciones recién aprendidas a los conjuntos de semillas, el conjunto de sentido A o sentido B crecerá y el residuo original se reducirá. Sin embargo, estas colocaciones permanecen en los conjuntos de semillas solo si su probabilidad de clasificación permanece por encima del umbral; de lo contrario, se devuelven al residuo para una clasificación posterior. Al final de cada iteración, se puede utilizar la propiedad "un sentido por discurso" para ayudar a prevenir colocaciones mal etiquetadas inicialmente y, por lo tanto, mejorar la pureza de los conjuntos de semillas.
Para evitar que las colocaciones fuertes se conviertan en indicadores de la clase incorrecta, el umbral de inclusión de la clase debe modificarse aleatoriamente. Con el mismo propósito, después de la convergencia intermedia, el algoritmo también deberá aumentar el ancho de la ventana de contexto.
El algoritmo continuará iterando hasta que no se encuentren más colocaciones confiables. La propiedad 'Un sentido por discurso' se puede utilizar aquí para la corrección de errores. Para una palabra objetivo que tiene una partición de sentido binario, si las ocurrencias del sentido mayoritario A superan las del sentido menor B por un cierto umbral, las minoritarias se reetiquetarán como A. Según Yarowsky, para que cualquier sentido sea claramente dominante, las ocurrencias de la palabra objetivo no deben ser menores a 4.
Cuando el algoritmo converge en un conjunto de residuos estable, se obtiene una lista de decisión final de la palabra objetivo. Las colocaciones más fiables se encuentran en la parte superior de la nueva lista en lugar de las palabras semilla originales. El corpus original sin etiquetar se etiqueta entonces con etiquetas de sentido y probabilidades. La lista de decisión final se puede aplicar ahora a los nuevos datos; la colocación con el rango más alto en la lista se utiliza para clasificar los nuevos datos. Por ejemplo, si la colocación de mayor rango de la palabra objetivo en el nuevo conjunto de datos es del sentido A, entonces la palabra objetivo se clasifica como sentido A.
Véase también
Referencias
- Yarowsky, David (1995). "Unsupervised Word Sense Disambiguation Rivaling Supervised Methods". Actas de la 33.ª Reunión Anual de la Asociación de Lingüística Computacional . Cambridge, MA: Association for Computational Linguistics: 189– 196. doi : 10.3115/981658.981684 . Consultado el 1 de noviembre de 2022 .