Procesamiento del lenguaje natural

A clustering-based Approach for Unsupervised Word Sense Disambiguation

Imagen obtenida de http://www.aertia.com/productos.asp?pid=193Tamara Martín, de la Universidad de Educación a Distancia (UNED), nos presenta una interesante aproximación para desambiguar palabras mediante técnicas de agrupamiento. Un problema recurrente que tienen las técnicas de Procesamiento del Lenguaje Natural es conocer el significado concreto de una palabra polisémica. Esto genera verdaderos quebraderos de cabeza para los que trabajan en técnicas de lenguaje natural. Es muy importante encontrar el sentido concreto de un término para muchaImagen obtenida de http://www.aertia.com/productos.asp?pid=193s tareas de PLN como, por ejemplo, a la hora de encontrar sinónimos para expandir consultas para sistemas de recuperación de información o para traducción automática para encontrar la mejor traducción.  Por otra parte, las técnicas de agrupamiento (clustering en inglés) son técnicas sin supervisión humana (unsupervised) que, de forma normalmente estadística, intenta agrupar la información en distintos conjuntos.

Las técnicas no supervisadas suelen relacionar cada palabra con contextos similares para reconocer que pertenecen al mismo grupo. Por ejemplo, si tengo varios ejemplos como "Mi coche es rojo" o "Mi coche es azul", un sistema estadístico no supervisado podría relacionar los términos rojo y azul a un mismo grupo que nosotros podríamos llamar colores. Tamara intenta desambiguar cada palabra de una frase viendo en qué contexto aparece dicho término y comprobar qué otras palabras (por ejemplo sinónimos) tienen los mismos contextos utilizando estas técnicas de agrupamiento estadístico.

Natural Language Inference in Natural Language Terms

Charla realizada en el SEPLN por Ido Dagan de la Universidad Bar Ilan en Israel sobre Textual Inference (Inferencia Textual) y su aplicación al Textual Entailment (Implicación Textual). La Inferencia Textual es el razonamiento informático a partir de premisas mediante ciertas reglas predefinidas. De esta forma se puede inferir nuevas expresiones de texto aplicando ciertas operaciones sobre el texto original. Según el ponente hay dos tipos de inferencias: la inferencia a partir de información extra-linguistica (por ejemplo, ayer llovió entonces ayer fue húmedo), en el área del Lenguaje Natural se suele llamar a esta información conocimiento del mundo o contextual; y la inferencia a partir de la variabilidad del lenguaje (por ejemplo sinónimos o relaciones léxicas) aunque no existe una frontera definida entre ambos.

Por otra parte la Implicación Textual es la ciencia que intenta descubrir la relación unidireccional entre dos fragmentos de texto: un texto t y una hipótesis  h, en la cual la hipótesis se ve confirmada por el texto. Es decir, estos sistemas intentan descubrir si un texto que es nuestra hipótesis, se puede deducir del texto original. Un ejemplo sería deducir que "Ayer llovió" (hipótesis) cuando tengo el texto "Ayer salí a correr y me mojé por la tormeta".  Aunque el texto original no se menciona la lluvia, se puede deducir que la tormenta vino acompañada de lluvia porque me mojé.

Como la Implicación Textual es un subconjunto de la Inferencia Textual, ésta suele ser aplicada a aquellas áreas en las que también se aplica la inferencia, como en  Question Answering (Búsqueda de Respuestas), Information Extraction (Extracción de Información), Information Retrieval (Recuperación de Información) o Automatic Summarization (Resumen Automático).

Los problemas de la inferencia clásica es que se debe inventar una lógica matemática para el texto pero estas reglas lógicas no suelen ser apropiadas para tratar con el lenguaje natural y por eso las técnicas de Implicación Textual han tenido tanto auge en los últimos tiempos. BIUTEE Inference Engine es un sistema de Inferencia Textual que integra en una plataforma ambas aproximaciones además de usar aprendizaje automático para estimar los parámetros del sistema. Con este sistema se puede seguir la traza del conjunto de transformaciones que se realiza sobre un texto para alcanzar la hipótesis. Para ello utiliza reglas léxicas, sintactico-léxicas o reglas sintácticas generales.

BIUTEE es un sistema open source, configurable, extensible, en el que se puede hacer una traza visual y se puede añadir inferencia a partir del conocimiento del mundo o contextual así como razonamiento temporal, aritmético o espacial.

Imagen obtenida de http://naviglinlp.blogspot.com.es/

Teamware: una aplicación web de anotación colaborativa

En el área del procesamiento del lenguaje natural es muy importante tener colecciones de datos (típicamente documentos) etiquetado indicando qué elementos aparecen en ellos. Es decir, tener documentos en que se describa, de forma que lo pueda entender una máquina, ciertos aspectos que aparecen en el texto. Por supuesto, estas etiquetas o anotaciones dependerán de la tarea a la que estará destinado dicho corpus. Por ejemplo, si tengo que construir un sistema que automáticamente sepa clasificar mi correo como spam, debo proporcionar a mi cliente de correo una muestra de correos normales y otra de spam indicándole cuándo el correo es bueno o es basura. Si lo que me interesa es detectar los verbos, predicados o sustantivos, tendré que tener un texto que ya estén marcados estos elementos para que un sistema de aprendizaje automático, a partir de ciertas propiedades del texto (como las propias palabras o su orden), pueda aprender a discernir cuando una palabra es un verbo, un artículo o, incluso, un sintagma nominal.

Pantallazo del Teamware

Pantallazo del Teamware¹

El principal problema de estos corpus anotados es que requieren un enorme trabajo manual para su construcción. Por ejemplo, para construir un sistema de análisis de sentimiento como son nuestros sistemas GPLSI Social Observer o GPLSI EmotiReview, fue necesario que muchos miembros de nuestro grupo etiquetaran 6000 mensajes realizados en Twitter. Es por eso una labor muy tediosa y mecánica que a nadie le gusta realizar. Por lo tanto, es muy importante que hayan mecanismos o sistemas que faciliten esta labor.

Arquitectura del Teamware

Arquitectura del Teamware¹

Entre estos sistemas de anotación el Teamware es una aplicación web para el etiquetado colaborativo de corpus de propósito general que incorpora una multitud de características muy interesantes y que es uno de los mejores y más ambiciosos sistemas de anotación que yo haya analizado hasta el momento.

Se basa en el framework de desarrollo de GATE y entre sus principales características son:

  • soporta diferentes roles de usuario (anotador, editor, administrador) de forma que los usuarios con distintos roles realicen distintas tareas;
  • personalización de las interfaces de usuario mediante esquemas XML o, incluso, plugins que se adapten fácilmente a la tarea de anotación concreta;
  • permite definir nuevos flujos de trabajo (workflow) colaborativo de tal manera que se pueda asignar ciertos protocolos de actuación para cada uno de los roles en el todo el proceso de anotado;
  • almacenamiento remoto e, incluso, distribuido pero eficiente;
  • una preanotación automática, es decir, permite ejecutar sistemas parcialmente ya entrenados previamente para que el anotador sólo tenga que confirmar o eliminar las anotaciones automáticas y así ahorrar mucho trabajo;
  • calcula automáticamente factores de calidad del corpus como el Inter-Annotator Agreement (IAA) que nos indica cuándo una anotación tiene la suficiente calidad para utilizarlo en sistemas reales;
  • mecanismos de entrenamiento de los anotadores pues, aunque no lo parezca, una anotación de un corpus no es una tarea trivial y requiere un entrenamiento previo, según (Snow et al. 2008), el resultado de anotación de 10 anotadores no preparados equivale, en calidad, a un experto anotador y por lo tanto un entrenamiento previo puede reducir enormemente esta proporción;
  • comunicación entre los distintos usuarios y roles, por ejemplo, para que un anotador pregunte sus dudas al editor, mediante un chat;
  • definir máximos de anotación y evitar que algunos anotadores etiqueten más de lo que deben;
  • anotación a distintos niveles tanto a nivel de documento (clasificadores), palabra (entidades nombradas, POS, tags), relaciones (coorreferencias), árboles (sintácticos, semánticos), ontologías, etc.;
  • mecanismos de consenso entre distintas anotaciones del mismo documento para que, por ejemplo, un editor experto pueda decidir, cuando qué anotación es la más precisa;
  • anotación concurrente que permita que varios anotadores trabajen sobre el mismo documento sin que se produzcan problemas;
  • obtener estadísticas sobre el proceso global de anotación y administrar o bloquear corpus;
  • generar informes de los proyectos de anotación;
  • diversos formatos de documentos tanto de entrada como de salida;
  • y un buscador basado en palabras claves para localizar partes de un corpus anotado.

Resolución de información temporal y su aplicación a la búsqueda de respuestas

Autor de la tesis: 
Estela Saquete Boró
Directores: 
Patricio Martínez Barco
Directores: 
Rafael Muñoz Guillena
Año de publicación: 
2005

Metodología, construcción y explotación de corpus anotados semántica y anafóricamente

Autor de la tesis: 
Borja Navarro Colorado
Directores: 
Patricio Martínez Barco
Directores: 
Manuel Palomar Sanz
Año de publicación: 
2007

Los roles semánticos en la tecnología del lenguaje humano: Anotación y Aplicación

Autor de la tesis: 
Paloma Moreda Pozo

La tesis presentada se centra en el análisis semántico de textos, y más concretamente, en el proceso de anotación de roles semánticos y su aplicación a otras tareas de Procesamiento de Lenguaje Natural.

Directores: 
Manuel Palomar Sanz
Año de publicación: 
2008

Últimas noticias

Noticias científicas