Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Semi-supervised Learning for Word Sense Disambiguation

Semi-supervised Learning for Word Sense Disambiguation

Original title in Spanish: Desambiguación de Palabras Polisémicas mediante Aprendizaje Semi-supervisado
Date: November 19, 2012
Venue: Córdoba, Argentina. Project on Word Sense Disambiguation for the MSc Specialization Course "Artificial Intelligence" at FaMAF, UNC (Faculty of Mathematics, Astronomy, Physics and Computation, National University of Córdoba)
Video: https://www.youtube.com/watch?v=qv9qZaBw-Qw

Please cite, link to or credit this presentation when using it or part of it in your work.

#ML #MachineLearning #NLP #NaturalLanguageProcessing #SemiSupervisedLearning #WordSenseDisambiguation #WSD

Darío Garigliotti

November 19, 2012
Tweet

More Decks by Darío Garigliotti

Other Decks in Research

Transcript

  1. 1 ­ Introducción a la polisemia 2 ­ Presentación del

    proyecto 3 ­ La (((no) muy) larga) etapa de preprocesamiento 4 ­ El algoritmo en cuestión: algoritmo de listas de decisión 5 ­ Evaluación y resultados 6 ­ Posibles extensiones Resumen de la presentación
  2. 1 ­ Introducción a la polisemia • Una palabra presenta

    polisemia cuando posee más de un sentido 1 significante 2+ significados : → ambigüedad banco := crédito | asiento | estrato | peces ¿Qué es la polisemia?
  3. 1 ­ Introducción a la polisemia • Una palabra presenta

    polisemia cuando posee más de un sentido 1 significante 2+ significados : → ambigüedad banco := crédito | asiento | estrato | peces • A veces: 1 significante 2+ categorías → gramaticales : ambiguo pero no polisémico saco := bolsa | ropa | verbo: sacar ¿Qué es la polisemia?
  4. 1 ­ Introducción a la polisemia • Aspecto positivo de

    la ambigüedad en la comunicación habitual: los chistes Aspectos positivos Un empleado entra temerosamente en el despacho de su jefe: —Discúlpeme, jefe, pero es que hace tres meses que no cobro. —Nada, nada, hombre. No se preocupe, está disculpado. ¿Qué quería usted...? • Pero en general es un problema
  5. 1 ­ Introducción a la polisemia • La realidad es

    que convivimos con la polisemia y otras ambigüedades ­ “...por su naturaleza humana, ...” ~ “...por su condición humana, ...” ­ “...las maravillas de la naturaleza...” ~ “...las maravillas del entorno...” • Es un problema para... el procesamiento automático • Clave: el contexto La realidad
  6. 2 ­ Presentación del proyecto • En este trabajo lo

    que se hizo fue...: ­ elegir palabras polisémicas ­ partir de ejemplos no etiquetados ­ (y de pocos etiquetados) ­ implementar un algoritmo clásico de listas de (reglas de) decisión ­ (con algunas modificaciones): ­ fuente de la info inicial ­ varios criterios internos Trabajo realizado
  7. 2 ­ Presentación del proyecto • 3 grandes etapas: ­

    Preprocesamiento del corpus ­ Aplicación del algoritmo ­ Evaluación de resultados • Palabras target: Etapas del trabajo Targets y corpus PALABRA TARGET SENTIDO A SENTIDO B Manzana Fruta Superficie Naturaleza Índole Entorno Movimiento Cambio Corriente Tierra Materia Planeta Interés Finanzas Curiosidad • Corpus: artículos de diarios. Contextos = oraciones
  8. 3 ­ La (((no) muy) larga) etapa de preprocesamiento •

    El corpus “crudo” tiene demasiado texto con poca información para la tarea de desambiguar • Sacamos buena parte de lo que nos molesta ­ Líneas muy cortas ­ Palabras demasiado frecuentes
  9. 1 – Unir 2 corpora de texto plano de artículos

    + quitar líneas de 9­ palabras 3 ­ La (((no) muy) larga) etapa de preprocesamiento
  10. 1 – Unir 2 corpora de texto plano de artículos

    + quitar líneas de 9­ palabras 2 – Desambiguar a mano 2 oraciones por sentido por target info inicial → 3 ­ La (((no) muy) larga) etapa de preprocesamiento
  11. 1 – Unir 2 corpora de texto plano de artículos

    + quitar líneas de 9­ palabras 2 – Desambiguar a mano 2 oraciones por sentido por target info inicial → 3 – Part­of­speech tagging ­ Reducir dimensión ­ Unificar comportamientos 3 ­ La (((no) muy) larga) etapa de preprocesamiento
  12. 1 – Unir 2 corpora de texto plano de artículos

    + quitar líneas de 9­ palabras 2 – Desambiguar a mano 2 oraciones por sentido por target info inicial → 3 – Part­of­speech tagging 4 – Filtrar preservando palabras de contenido ­ Sustantivos ­ Verbos principales ­ Adjetivos calificativos 3 ­ La (((no) muy) larga) etapa de preprocesamiento
  13. 1 – Unir 2 corpora de texto plano de artículos

    + quitar líneas de 9­ palabras 2 – Desambiguar a mano 2 oraciones por sentido por target info inicial → 3 – Part­of­speech tagging 4 – Filtrar preservando palabras de contenido 5 – Buscar oraciones con cada target + Determinar el lexicon final: palabras que ocurren 10+ oraciones + construir tuplas .arff para esas oraciones 3 ­ La (((no) muy) larga) etapa de preprocesamiento
  14. 3 ­ La (((no) muy) larga) etapa de preprocesamiento 0

    1000 2000 3000 4000 5000 6000 7000 8000 tierra el de en que y a uno se ser su por haber con para no este m�s como estar tener poder hacer todo pero a�o sobre ayer 2 otro lo entre desde o decir sin ese 1 cuando si hasta donde llegar le tambi�n ya ir bajo d�a # ocurrencias Comparacion: Palabras (ordenadas por cantidad de ocurrencias) vs. cantidad de ocurrencias (Contextos que contienen la palabra target 'tierra') ~Ley de Zipf Cantidad de ocurrencias de palabras
  15. 3 ­ La (((no) muy) larga) etapa de preprocesamiento 0

    1000 2000 3000 4000 5000 6000 7000 8000 0 500 1000 1500 2000 # ocurrencias Palabras que ocurren en al menos 10 oraciones, ordenadas por frecuencia Comparacion: Palabras (ordenadas por cantidad de ocurrencias) vs. cantidad de ocurrencias (Contextos que contienen la palabra target 'tierra') - ~Ley de Zipf Cantidad de ocurrencias de palabra
  16. […] En este caso, la causa de los movimientos sísmicos

    es la acción de una base de misiles nucleares.[...] 3 ­ La (((no) muy) larga) etapa de preprocesamiento En en SPS00 1 este este DD0MS0 0.956743 caso caso NCMS000 0.990741 , , Fc 1 la el DA0FS0 0.972146 causa causa NCFS000 0.794872 de de SPS00 0.999919 los el DA0MP0 0.97623 movimientos movimiento NCMP000 1 sísmicos sísmico AQ0MP0 1 es ser VSIP3S0 1 la el DA0FS0 0.972146 acción acción NCFS000 1 de de SPS00 0.999919 una uno DI0FS0 0.951241 base base NCCS000 0.955882 de de SPS00 0.999919 misiles misil NCMP000 1 nucleares nuclear AQ0CP0 1 . . Fp 1 caso caso NCMS000 0.990741 causa causa NCFS000 0.794872 movimientos movimiento NCMP000 1 sísmicos sísmico AQ0MP0 1 acción acción NCFS000 1 base base NCCS000 0.955882 misiles misil NCMP000 1 nucleares nuclear AQ0CP0 1 . . Fp 1 m ovim iento → POS­tagging → tener hacer acci ó n caso base s ísm ico causa .... .... .... .... … … 1 0 0 ...... 1 ....... 1 ..... 1 ..... 1 .... 1 .... ← Filtro por palabras de ← contenido → Construir lexicon + tuplas:
  17. 4 ­ El algoritmo de listas de decisión • Algoritmo

    de aprendizaje semi­ supervisado • Modificaciones al algoritmo original de Yarowsky (1995)
  18. 4 ­ El algoritmo de listas de decisión • Colocación:

    ej 'mundo' • Evidencia E: ej “la palabra 'mundo' ocurre en la oración” • Etiquetado inicial: ejemplos a mano vs colocaciones semilla • Para regla (E A) → , confiabilidad de que la evidencia E determine el sentido A = C(E, A) = = • Aceptación de reglas: ­ confiabilidad > 0.95 ­ cobertura = # evidencia > 0 nro deoraciones tq E y A nrode oracionestq E y Ao B
  19. 4 ­ El algoritmo de listas... 0 500 1000 1500

    2000 2500 3000 1 2 3 4 5 6 Cantidades de reglas Numero de iteracion Proporcion de reglas aceptadas y rechazadas por iteracion Palabra target: 'interes' Nro_aceptadas Nro_rechazadas_por_cobertura Nro_rechazadas_por_probabilidad
  20. 0 2000 4000 6000 8000 10000 12000 14000 0 1

    2 3 4 5 6 Sizes de los subconjuntos Numero de iteracion Proporcion de subconjuntos de ejemplos por iteracion Palabra target: 'interes' Size_set_A Size_set_B Size_set_No_labeled 4 ­ El algoritmo de listas...