Procesamiento de Lenguaje Natural: conceptos básicos.


El PLN o en inglés Natural Language Processing (NLP) es una rama de la Inteligencia Artificial cuyo objetivo es crear modelos computacionales que facilite la comprensión y comunicación hombre-computadora por medio del lenguaje humano (natural). Sus “herramientas” de trabajo son los formalismos gramaticales, algoritmos, estructuras de datos, mecanismos de razonamiento, entre otros.

Actualmente se utiliza el PLN en diferentes aplicaciones, por ejemplo la traducción automática entre idiomas, sistemas de preguntas y respuestas automáticas.

Entre los problemas al trabajar con el Lenguaje Natural se encuentran el análisis semántico y sintáctico, “parseo”, detección de palabras y datos incompletos.

Un poco de historia.

Las primeras aplicaciones se enfocaron a la traducción automática (1940 – 1960), basándose en la sustitución de palabra por palabra, dando resultados medianamente adecuados. Posteriormente se inicio la investigación que lograra resolver ambigüedades sintácticas y semánticas, así como la comprensión del lenguaje; gran parte del trabajo realizado se centró en el análisis sintáctico.

En los 60’s se diseñó el primer sistema de preguntas y respuestas basado en el lenguaje natural; Eliza es un claro ejemplo de la comunicación entre la computadora y el usuario. En los últimos años se han incorporado más técnicas y algoritmos que permitan el desarrollo de formalismos y modelos más adecuados y complejos, de manera que la representación del conocimiento sea más completa.

En pocas palabras…

Utilizando técnicas computacionales de Inteligencia Artificial y el análisis lingüístico se han logrado grandes avances en esta área, evolucionando hacia modelos más adecuados.

El estudio del Lenguaje Natural se divide en cuatro niveles:

– Sintáctico. Su función es asignar etiquetas a cada uno de los componentes que aparecen en la oración a analizar, de manera que sepamos como se combinan las palabras y forman estructuras gramaticales correctas. Al finalizar se obtienen estructuras que muestran las palabras formadas por unidades léxicas.

Es decir,

“I saw the man on the roof”, podemos saber que [I] es un pronombre, [saw] es un verbo y así sucesivamente.

– Semántico. Hay aplicaciones que se enfocan principalmente hacia el procesamiento del significado, pudiera parecer una tarea sencilla pero interpretar el significado de lo que se está diciendo puede ser costoso (procesamiento) y complicado. Es decir, la semántica hace referencia a lo que significan las palabras por sí mismas sin considerar el uso en un tema determinado.

– Pragmático. Es uno de los niveles más complicados y su finalidad es incorporar al análisis semántico la relación que se dan entre los hechos que está formando el contexto y sus entidades.

– Morfológico. Detecta las relaciones que se establece entre las unidades mínimas que forman una palabra (sufijos, prefijos) y la relación con el léxico, siendo este un conjunto de información sobre cada palabra que el sistema utiliza para el procesamiento.

En posts posteriores explicaré como análizar de manera sencilla un texto mediante Python.

Fuentes:

Natural Processing, Ronan Collobert.

Natural Language Processing and Text Mining, Anne Kao

Anuncios

Acerca de silvercorp

Blog personal de Ye§i creado el 18/Ag/06 enfocado al diseño gráfico, tecnología y programación.

Publicado el septiembre 19, 2013 en Inteligencia Artificial. Añade a favoritos el enlace permanente. 4 comentarios.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: