practica de procesamiento de lenguaje de natural

18
Practica: Procesamiento del lenguaje natural (PLN) 15 de Octubre del 2014 Equipo No. 2: Ismael Valle Chávez Adolfo Daniel Ramírez Gómez Marce Citlalin Cortes Peñaloza Cande Alberto Ríos Valadez INSTITUTO TECNOLÓGICO DE ACAPULCO

Upload: mashe-cortes

Post on 25-Dec-2015

221 views

Category:

Documents


0 download

DESCRIPTION

Procesamiento del lenguaje natural hecho en pagina web

TRANSCRIPT

15 de Octubre del 2014

Equipo No. 2:

Ismael Valle Chávez Adolfo Daniel Ramírez Gómez Marce Citlalin Cortes Peñaloza Cande Alberto Ríos Valadez

INSTITUTO TECNOLÓGICO DE ACAPULCO

ÍNDICE

INTRODUCCIÓN..................................................................................................................................2

MARCO TEÓRICO................................................................................................................................5

DESARROLLO......................................................................................................................................9

RESULTADOS....................................................................................................................................14

CONCLUSIONES................................................................................................................................16

BIBLIOGRAFÍA...................................................................................................................................16

1

INTRODUCCIÓN

El tesoro más valioso de la raza humana es el conocimiento, es decir, la información. Existen en el mundo volúmenes inmensos de información en forma de lenguaje natural: los libros, los periódicos, los informes técnicos, etcétera. Pero la posesión verdadera de este tesoro implica la habilidad de hacer ciertas operaciones con la información:

Buscar la información necesaria, Comparar las fuentes diferentes, y hacer inferencias lógicas y conclusiones, Manejar los textos, por ejemplo, traducirlos a otros idiomas.

En realidad, las computadoras son más capaces de procesar la información que las personas. Pueden procesar muchísimos más grandes volúmenes de información que una persona puede leer en su vida. A base de ésta, pueden hacer inferencias lógicas tomando en cuenta más hechos y más fuentes.Todo parece estar preparado para el uso de las computadoras para procesar volúmenes grandes de información: los métodos lógicos ya son muy fuertes, los procesadores muy rápidos, muchos textos ya están disponibles en forma digital, tanto en las casas editoriales como en Internet. El único problema para la computadora al procesar los textos es que simplemente ¡no los entiende! Hasta ahora, los textos son para la computadora solamente cadenas de letras sin cualquier sentido y no una información útil para el razonamiento lógico.Para convertir la computadora en nuestro verdadero ayudante en el procesamiento de textos, se necesita pasar un largo camino de aprendizaje de la estructura de textos y de su formalización; más abajo vamos a hablar de algunos problemas en este camino. Pero si es tan largo el camino, ¿existe una razón práctica para trabajar en esta área ahora? Sí, existe, porque con cada paso obtenemos las herramientas que ya tienen gran valor práctico, que ayudan en nuestras tareas cotidianas.

El procesamiento de lenguajes naturales —abreviado PLN, o NLP del idioma inglés Natural Language Processing— es un campo de las ciencias de la computación, inteligencia artificial y lingüística que estudia las interacciones entre las computadoras y el lenguaje humano. El PLN se ocupa de la formulación e investigación de mecanismos eficaces computacionalmente para la comunicación entre personas y máquinas por medio de lenguajes naturales. El PLN no trata de la comunicación por medio de lenguajes naturales de una forma abstracta, sino de diseñar mecanismos para comunicarse que sean eficaces computacionalmente —que se puedan realizar por medio de programas que ejecuten o simulen la comunicación—. Los modelos aplicados se enfocan no sólo a la comprensión del lenguaje de por sí, sino a aspectos generales cognitivos humanos y a la organización de la memoria. El lenguaje natural sirve sólo de medio para estudiar estos fenómenos. Hasta

2

la década de 1980, la mayoría de los sistemas de PNL se basaban en un complejo conjunto de reglas diseñadas a mano. A partir de finales de 1980, sin embargo, hubo una revolución en PNL con la introducción de algoritmos de aprendizaje automático para el procesamiento del lenguaje.

La historia del PLN empieza desde 1950, aunque existe trabajo encontrado desde periodos anteriores. En 1950, Alan Turing publicó Computing machinery and intelligence el cual proponía lo que hoy llamamos test de turing como criterio de inteligencia. El experimento de Georgetown en 1954 involucro traducción automática de más de sesenta oraciones del ruso al inglés. Los autores clamaron que en tres o cinco años la traducción automática sería un problema resuelto. El progreso real en traducción automática fue más lento y después del reporte ALPAC en 1996, el cual demostró que la investigación había tenido un bajo desempeño. Más tarde investigación a menor escala en traducción automática se llevó a cabo hasta finales de 1980, cuando se desarrollaron los primeros sistemas de traducción automática estadística. Esto se debió tanto al aumento constante del poder de cómputo resultante de la Ley de Moore y la disminución gradual del predominio de las teorías lingüísticas de Noam Chomsky (por ejemplo, la Gramática Transformacional), cuyos fundamentos teóricos desalentaron el tipo de lingüística de corpus, que se basa el enfoque de aprendizaje de máquinas para el procesamiento del lenguaje. Algunos de los primeros algoritmos de aprendizaje automático utilizados, tales como árboles de decisión, sistemas producidos de sentencias si-entonces similares a las reglas escritas a mano.

El lenguaje natural es inherentemente ambiguo a diferentes niveles:

A nivel léxico, una misma palabra puede tener varios significados, y la selección del apropiado se debe deducir a partir del contexto oracional o conocimiento básico. Muchas investigaciones en el campo del procesamiento de lenguajes naturales han estudiado métodos de resolver las ambigüedades léxicas mediante diccionarios, gramáticas, bases de conocimiento y correlaciones estadísticas.

A nivel referencial, la resolución de anáforas y catáforas implica determinar la entidad lingüística previa o posterior a que hacen referencia.

A nivel estructural, se requiere de la semántica para desambiguar la dependencia de los sintagmas preposicionales que conducen a la construcción de distintos árboles sintácticos. Por ejemplo, en la frase Rompió el dibujo de un ataque de nervios.

A nivel pragmático, una oración, a menudo, no significa lo que realmente se está diciendo. Elementos tales como la ironía tienen un papel importante en la interpretación del mensaje.

3

Para resolver estos tipos de ambigüedades y otros, el problema central en el PLN es la traducción de entradas en lenguaje natural a una representación interna sin ambigüedad, como árboles de análisis.

Detección de separación entre las palabras

En la lengua hablada no se suelen hacer pausas entre palabra y palabra. El lugar en el que se debe separar las palabras a menudo depende de cuál es la posibilidad que mantenga un sentido lógico tanto gramatical como contextual. En la lengua escrita, idiomas como el chino mandarín tampoco tienen separaciones entre las palabras.

Recepción imperfecta de datos

Acentos extranjeros, regionalismos o dificultades en la producción del habla, errores de mecanografiado o expresiones no gramaticales, errores en la lectura de textos mediante OCR

4

MARCO TEÓRICO

El PLN se concibe como el reconocimiento y utilización de la información expresada en lenguaje humano a través del uso de sistemas informáticos.En su estudio intervienen diferentes disciplinas tales como lingüística, ingeniería informática, filosofía, matemáticas y psicología. Debido a las diferentes áreas del conocimiento que participan, la aproximación al lenguaje en esta perspectiva es también estudiada desde la llamada ciencia cognitiva.Tanto desde un enfoque computacional como lingüístico se utilizan técnicas de inteligencia artificial:

modelos de representación del conocimiento y de razonamiento, lenguajes de programación declarativos, algoritmos de búsqueda, y estructuras de datos.

Se investiga cómo el lenguaje puede ser utilizado para cumplir diferentes tareas y la manera de modelar el conocimiento.En los siguientes párrafos se presenta una introducción a las técnicas que se aplican para el tratamiento del lenguaje natural. Generalmente la bibliografía sobre el tema se caracteriza por su estilo técnico y, dada su componente interdisciplinar, se presenta como una materia de difícil comprensión para los legos en el tema.En vista a conocer estas técnicas de representación y procesamiento, es necesario tener en cuenta una doble dimensión: se trata por una parte de un problema de representación lingüística, y por otra de un problema de tratamiento mediante recursos informáticos.El uso de técnicas computacionales procedentes especialmente de la inteligencia artificial no aportaría soluciones adecuadas sin una concepción profunda del fenómeno lingüístico. Por otra parte, las gramáticas utilizadas para el tratamiento del lenguaje han evolucionado hacia modelos más adecuados para un tratamiento computacional.

Cuatro niveles de análisis

El estudio del lenguaje natural se estructura normalmente en 4 niveles de análisis:

morfológico, sintáctico, semántico y pragmático.

Además se pueden incluir otros niveles de conocimiento como es la información fonológica, referente a la relación de las palabras con el sonido asociado a su

5

pronunciación; el análisis del discurso, que estudia cómo la información precedente puede ser relevante para la comprensión de otra información; y, finalmente, lo que se denomina conocimiento del mundo, referente al conocimiento general que los hablantes han de tener sobre la estructura del mundo para mantener una conversación.

Análisis morfológico

Su función consiste en detectar la relación que se establece entre las unidades mínimas que forman una palabra, como puede ser el reconocimiento de sufijos o prefijos. Este nivel de análisis mantiene una estrecha relación con el léxico.El léxico es el conjunto de información sobre cada palabra que el sistema utiliza para el procesamiento. Las palabras que forman parte del diccionario están representadas por una entrada léxica, y en caso de que ésta tenga más de un significado o diferentes categorías gramaticales, tendrá asignada diferentes entradas.En el léxico se incluye la información morfológica, la categoría gramatical, irregularidades sintácticas y representación del significado.Normalmente el léxico sólo contiene la raíz de las palabras con formas regulares, siendo el analizador morfológico el que se encarga de determinar si el género, número o flexión que componen el resto de la palabra son adecuados.

Análisis sintáctico

Tiene como función etiquetar cada uno de los componentes sintácticos que aparecen en la oración y analizar cómo las palabras se combinan para formar construcciones gramaticalmente correctas. El resultado de este proceso consiste en generar la estructura correspondiente a las categorías sintácticas formadas por cada una de las unidades léxicas que aparecen en la oración.Las gramáticas, tal como se muestra en la siguiente figura, están formadas por un conjunto de reglas:--> SN, SVSN --> Det, NSN --> Nombre PropioSV --> V, SNSV --> VSP --> Preposición, SNSN = sintagma nominalSV = sintagma verbalDet = determinante

6

Ejemplo de una gramática simple: las reglas tiene como función la composición de estructurasEl resultado del análisis se puede expresar en forma arbórea. Los árboles son formas gráficas utilizadas para expresar la estructura de la oración, consistentes en nodos etiquetados (O, SN, SV...) conectados por ramas:

Análisis semántico

En muchas aplicaciones del PLN los objetivos del análisis apuntan hacia el procesamiento del significado. En los últimos años las técnicas de procesamiento sintáctico han experimentado avances significativos, resolviendo los problemas fundamentales.Sin embargo, las técnicas de representación del significado no han obtenido los resultados deseados, y numerosas cuestiones continúan sin encontrar soluciones satisfactorias.Definir qué es el significado no es una tarea sencilla, y puede dar lugar a diversas interpretaciones. A efectos funcionales, para facilitar el procesamiento, la modularidad es una de las propiedades más deseables. Haciendo uso de esta concepción modular es posible distinguir entre significado independiente y significado dependiente del contexto.El primero, tratado por la semántica, hace referencia al significado que las palabras tienen por sí mismas sin considerar el significado adquirido según el uso en una determinada circunstancia. La semántica, por tanto, hace referencia a las condiciones de verdad de la frase, ignorando la influencia del contexto o las intenciones del hablante. Por otra parte, el componente significativo de una frase asociado a las

7

circunstancias en que ésta se da, es estudiado por la pragmática y conocido como significado dependiente del contexto.Atendiendo al desarrollo en el proceso de interpretación semántica, es posible optar entre múltiples pautas para su organización, tal como se determinan en los siguientes párrafos.En referencia a la estructura semántica que se va a generar, puede interesarnos que exista una simetría respecto a la estructura sintáctica, o por el contrario que no se dé tal correspondencia entre ellas. En el primer caso, a partir del árbol generado por el análisis sintáctico se genera una estructura arbórea con las mismas características, sobre la cual se realizará el análisis semántico. En el segundo caso, en la estructura generada por la sintaxis se produce un curso de transformaciones sobre las cuales se genera la representación semántica.Cada una de las dos opciones anteriores puede implementarse de forma secuencial o paralela. En la interpretación secuencial, después de haber finalizado la fase de análisis sintáctico, se genera el análisis semántico. En cambio, desde un procedimiento en paralelo, el proceso de análisis semántico no necesita esperar a que el analizador sintáctico haya acabado toda su tarea, sino que puede ir realizando el análisis de cada constituyente cuando éste ha sido tratado en el proceso sintáctico.Finalmente en combinación con cada una de las opciones anteriores, podemos escoger un modelo en el que exista una correspondencia entre reglas sintácticas y semánticas o, contrariamente, podemos optar por un modelo que no cumpla tal requisito. En caso afirmativo, para cada regla sintáctica existirá una regla semántica correspondiente.El significado es representado por formalismos conocidos por el nombre de knowledge representation. El léxico proporciona el componente semántico de cada palabra en un formalismo concreto, y el analizador semántico lo procesa para obtener una representación del significado de la frase.

Análisis pragmático

Añade información adicional al análisis del significado de la frase en función del contexto donde aparece. Se trata de uno de los niveles de análisis más complejos, la finalidad del cual es incorporar al análisis semántico la aportación significativa que pueden hacer los participantes, la evolución del discurso o información presupuesta.Incorpora así mismo información sobre las relaciones que se dan entre los hechos que forman el contexto y entre diferentes entidades.

8

DESARROLLOHOMEPAGE.PHP

9

DICCIONARIO.PHP

10

ESQUEMA

DE

DISTRIBUCION EN EL SERVIDOR

11

RESULTADOS

12

CONCLUSIONES

Lenguaje es el empleo de la palabra para expresar ideas, comunicarse, establecer relaciones entre los seres humanos. Un lenguaje es un conjunto de palabras, su pronunciación y los métodos para combinarlas en frases y oraciones, generalmente infinito y que se forma mediante combinaciones de palabras definidas en un diccionario terminológico previamente establecido. Las combinaciones posibles deben respetar un conjunto de reglas sintácticas establecidas, a ello se le conoce con el nombre de Sintaxis. Además, las palabras deben tener determinado sentido, deben ser comprendidas por un grupo humano en un contexto dado, a ello se le denomina Semántica.

El procesamiento del lenguaje natural tiene como objetivo fundamental lograr una comunicación máquina-humano similar a la comunicación humano-humano.El empleo del lenguaje le permite al hombre trasmitir sus conocimientos, sentimientos, sensaciones, emociones, y estados de ánimoA lo largo de la historia los lenguajes naturales han ido evolucionando, de forma paralela al desarrollo y evolución de la especie humana.Han sido varios los sistemas informáticos inteligentes que se han desarrollado que emplean el procesamiento del lenguaje natural.

BIBLIOGRAFÍA

El procesamiento del lenguaje natural, tecnología en transición. Jaime Carbonell. Congreso de la Lengua Española, Sevilla, 1992

Lenguas y tecnologías de la información. Ángel G. Jordán. Congreso de la Lengua Española, Sevilla, 1992

Extracción y Recuperación de Información. Según patrones: léxicos, sintácticos, semánticos y de discurso

Entrevista a Antonio Valderrábanos (Bitext) sobre buscadores y procesamiento del lenguaje natural

Presentación 'La Web semántica' Eduardo Sosa. Sección científica de Biblioteconomía y Documentación. Universitat

Pompeu Fabra. Barcelona.

13