Entradas

INTRODUCCIÓN

Para empezar a dialogar sobre el tema de la Gramática de Cláusulas Definidas debemos hablar un poco del Procesamiento del Lenguaje Natural ya que el tema depende de esta rama. El Procesamiento del Lenguaje Natural es una disciplina de la Inteligencia Artificial que se ocupa de la formulación e investigación de mecanismos computacionales para la comunicación entre personas y máquinas mediante el uso de Lenguajes Naturales. Los Lenguajes Naturales son los utilizados en la comunicación humana, ya sean escritos, hablados o signados. Aplicaciones del Procesamiento del Lenguaje Natural : ➤ Comprensión del lenguaje ➤ Recuperación de la información ➤ Extracción de la información ➤ Búsqueda de respuestas ➤ Generación de discurso ➤ Traducción automática ➤ Reconstrucción de discurso ➤ Reconocimiento del habla ➤ Sıntesis de voz   El Análisis del Lenguaje: analiza la estructura del lenguaje a cuatro niveles : ➤ Análisis morfológico: El análisis de l

NOTACIÓN EN LAS GRAMÁTICAS DE CLÁUSULAS DEFINIDAS

Imagen
➤ Frases: listas de palabras.           Ejemplo: [la,profesora,lee,un,libro] ➤ Sımbolos no terminales: sımbolos de predicado. ➤ Variables en los argumentos: mayúsculas o mudas. ➤ Sımbolos terminales: listas unitarias.           Ejemplo: [el] ➤ Colocamos entre llaves cualquier llamada a predicados externos a la gramática.           Ejemplo: {es_verbo(P,N)} F.J., M., & Ruiz Reina, J. (2012-2013). Procesamiento del Lenguaje Natural. Recuperado el 21-23 de 04 de 2017, de Procesamiento del Lenguaje Natural: https://www.cs.us.es/cursos/ia2/temas/tema-06.pdf

REGLAS GCD COMO REGLAS EN LÓGICA DE PRIMER ORDEN

Imagen
➤ Cada regla de la gramática se puede convertir a una regla lógica (cláusula definida) en la que cada sımbolo no terminal se corresponde con un predicado con los mismos argumentos más un argumento adicional que representa la sublista de palabras que se analiza según la categorıa gramatical que representa el sımbolo. Ejemplo : la regla              sintagma_nominal(N) ⟶ determinante(G,N),nombre(G,N). Se traduce a la regla lógica:               determinante(G,N,S1) ∧ nombre(G,N,S2)                                          → sintagma_nominal(N,S1@S2) (aquı @ representa concatenación) ➤ Para las reglas correspondientes a sımbolos terminales, la traducción es algo distinta. Ejemplo : la regla             nombre(G,N) ⟶ [P],{es_nombre(P,G,N)}. Se traduce a la regla lógica:             es_nombre(P,G,N) ⟶ nombre(G,N,[P]) F.J., M., & Ruiz Reina, J. (2012-2013). Procesamiento del Lenguaje Natural. Recuperado el 21-23 de 04 de 2017, de Procesamiento del Le

GRAMÁTICAS DE CLÁUSULAS DEFINIDAS Y SLD-RESOLUCIÓN

Imagen
➤ Con esa visión de una GCD como un conjunto de reglas, el analizar sintácticamente según una GCD puede reducirse a deducir usando SLD-resolución. ➤ Las GCDs surgen como una extensión al lenguaje Prolog. ➤ De hecho, se pueden escribir tal cual en cualquier intérpretede Prolog, y de esa manera se tiene directamente un analizador sintáctico, usando el predicado phrase (y considerando que las frases como listas de palabras):                ?- phrase(oración,[la,profesora,lee,un,libro]).                 Yes                ?- phrase(oración,[las,profesores,lee,los,libro]).                  No ➤ Incluso tenemos un generador de frases del lenguaje:                 ?- phrase(oración,L).                     L=[la,profesora,lee,un,libro];                  .... F.J., M., & Ruiz Reina, J. (2012-2013). Procesamiento del Lenguaje Natural. Recuperado el 21-23 de 04 de 2017, de Procesamiento del Lenguaje Natural: https://www.cs.us.es/cursos/ia2/temas/tema-06.pdf

LENGUAJES EXPRESABLES POR GCDS

Imagen
➤ Incluso en lenguajes formales, GCDs son más expresivas que GIC. ➤ GCD que define el lenguaje L = {a2nb2nc2n : n 2 N}, no expresable con una GIC: F.J., M., & Ruiz Reina, J. (2012-2013). Procesamiento del Lenguaje Natural. Recuperado el 21-23 de 04 de 2017, de Procesamiento del Lenguaje Natural: https://www.cs.us.es/cursos/ia2/temas/tema-06.pdf

ANÁLISIS SEMÁNTICO

Imagen
¿Cómo representar el significado de una frase? ➤ En general, se trata de expresarlo mediante algún lenguaje formal. ➤ Esto permite que una máquina pueda realizar las acciones adecuadas al mensaje emitido (almacenar información, responder preguntas razonadamente,. . . ). ➤ En nuestro caso, usaremos la lógica de primer orden como lenguaje de representación. ➤ Podrıamos usar cualquier otro formalismo de representación. Ejemplos de significados asignados a frases : ➤ Juan es alto:          alto(juan) ➤ Pedro bebe agua:          bebe(pedro, agua) ➤ Todo hombre tiene alma:           ∀x[hombre(x) ⟶ tiene(x, alma)] ➤ Algun hombre tiene dinero:           ∃x[hombre(x) ^ tiene(x, dinero)] ➤ Todo hombre que no come pan no tiene dinero:           ∀x[(hombre(x) ^ ㄱcome(x, pan)) ⟶ ㄱtiene(x, dinero)] F.J., M., & Ruiz Reina, J. (2012-2013). Procesamiento del Lenguaje Natural. Recuperado el 21-23 de 04 de 2017, de Procesamiento del Lenguaje Natural: https:/

CONSTRUCCIÓN DE SIGNIFICADO

Imagen
¿Cual es el significado de la frase “Juan es alto”? ➤ Significado de “Juan”: el término (constante) juan. ➤ Significado de “es”: es solo un nexo de unión del sujeto con el adjetivo que lo califica (no aporta significado). ➤ Significado de “alto”: predicado unario alto que expresa una propiedad sobre alguien; puede verse como una función tal que dado un sujeto, devuelve la afirmación de que dicho sujeto es alto; dicha función se representa usualmente por λx.alto(x). ➤ El significado de la frase completa se obtiene aplicando el significado del sintagma verbal al significado del sintagma nominal: (λx.alto(x))(juan) = alto(juan). F.J., M., & Ruiz Reina, J. (2012-2013). Procesamiento del Lenguaje Natural. Recuperado el 21-23 de 04 de 2017, de Procesamiento del Lenguaje Natural: https://www.cs.us.es/cursos/ia2/temas/tema-06.pdf

SEMÁNTICA COMPOSICIONAL

Imagen
➤ Hipótesis composicional: el significado de una categorıa sintáctica se obtiene a partir del significado de las subcategorıas que lo componen. ➤ Esta hipótesis no siempre es cierta, pero simplifica el análisis semántico. ➤ Pasando parte del trabajo a la fase de eliminación de ambigüedades. F.J., M., & Ruiz Reina, J. (2012-2013). Procesamiento del Lenguaje Natural. Recuperado el 21-23 de 04 de 2017, de Procesamiento del Lenguaje Natural: https://www.cs.us.es/cursos/ia2/temas/tema-06.pdf

EXTRACCIÓN DE SIGNIFICADO

Imagen
➤ En lugar de tener una lambda como significado, en la GCD tenemos como argumentos separados sus componentes: en este caso, uno para la variable y otro para el cuerpo. ➤ El mecanismo de unificación sirve para “componer” el resultado.                ?- phrase(oraci´on(S),[juan,es,alto]).                S = alto(juan) F.J., M., & Ruiz Reina, J. (2012-2013). Procesamiento del Lenguaje Natural. Recuperado el 21-23 de 04 de 2017, de Procesamiento del Lenguaje Natural: https://www.cs.us.es/cursos/ia2/temas/tema-06.pdf

FRASES CON VERBOS TRANSITIVOS

Imagen
➤ Significado de un verbo transitivo: predicado que relaciona el sujeto con el objeto directo. Por ejemplo, el significado del verbo “come” es la función λx.λy.come(x, y). ➤Ejemplo de sesión                 ?- phrase(oración(S),[pedro,come,pan]).                 S = come(pedro, pan) F.J., M., & Ruiz Reina, J. (2012-2013). Procesamiento del Lenguaje Natural. Recuperado el 21-23 de 04 de 2017, de Procesamiento del Lenguaje Natural: https://www.cs.us.es/cursos/ia2/temas/tema-06.pdf

FRASES CON DETERMINANTES TODO Y ALGÚN

Imagen
➤ En la lógica de primer orden, estos determinantes se corresponden con los cuantificadores universal y existencial. Ejemplos :           ⏩ “Todo andaluz come pescado”:                        ∀x[andaluz(x) ! come(x, pescado)]           ⏩ “Algún informático tiene dinero”:                         ∃x[informatico(x) ^ tiene(x, dinero)] ➤ En la GCD que veremos a continuación se define su significado ası:                          determinante(X,Prop,SSV,existe(X, Prop y SSV)) ⟶ [algún].                          determinante(X,Prop,SSV,para_todo(X, Prop => SSV))⟶ [todo]. ➤ El significado de estos determinantes es un “esqueleto” de fórmula lógica, que se irá concretando a medida que se analice la frase. F.J., M., & Ruiz Reina, J. (2012-2013). Procesamiento del Lenguaje Natural. Recuperado el 21-23 de 04 de 2017, de Procesamiento del Lenguaje Natural: https://www.cs.us.es/cursos/ia2/temas/tema-06.pdf

RAZONAMIENTO Y LENGUAJE NATURAL

Imagen
➤ Mantenimiento y consultas de una base de conocimiento usando lenguaje natural. ➤ El conocimiento se aserta en lenguaje natural (y es incluido en lenguaje formal). ➤ La respuesta a una consulta se da en lenguaje natural y puede implicar deducir información a partir de lo afirmado anteriormente. ➤ Cada frase en la comunicación hombre-máquina es analizada semánticamente:               ⏩ Del humano hacia la máquina: lenguaje natural a lenguaje formal.               ⏩ De la máquina hacia el humano: lenguaje formal a lenguaje natural. ➤ El razonamiento lo realiza la máquina usando las expresiones formales (con SLD-resolución, por ejemplo) ➤ Sesión con adición de información y con consultas:                      ?- consulta([]).                      ? [juan,es,andaluz].                      ? [¿, quien, es, andaluz, ?].                      ! [juan, es, andaluz]                      ? [¿, es, juan, europeo, ?].                      ! No                      ? [to