Vous êtes sur la page 1sur 74

Tema 4.

Tratamiento del lenguaje natural


El lenguaje natural es una forma de comunicacin imprecisa y ambigua que se apoya en el conocimiento compartido por los que se comunican
Adems el lenguaje natural est en continua expansin y permite expresar una misma idea de muchas formas

Tratamiento del lenguaje natural


Comprensin Generacin

Aplicaciones
Traduccin automtica Interfaces de usuario Acceso a bases de datos Bsqueda y filtrado de informacin, etctera

Slo vamos a considerar lenguaje escrito


IAIC Curso 2005-06 Tema 4 - 1

Comprensin del lenguaje natural


Gran dificultad debido a que el lenguaje es algo vivo: expansin, modificacin,etc.
El lenguaje se modifica tanto en vocabulario como en sintaxis

Existencia de jergas locales, profesionales, por franjas de edad... Ambigedad


Lxica: Entr en el banco. Se sent en el banco.
Polisemia: ambigedad de las palabras

Sintctica: Juan vio a Mara con unos prismticos.


A veces es imposible de solucionar

Semntica: Los nios compraron el libro de Peter Pan. Referencial: El jamn est en el armario. Scalo. Cirralo.

Requiere mucho conocimiento: objetivos del hablante, hiptesis, contexto... No es mera transmisin de palabras...
IAIC Curso 2005-06 Tema 4 - 2

Niveles de anlisis del lenguaje


Fontica
Combinacin de sonidos (fonemas) que producen palabras

Morfologa
Estructura de las palabras (morfemas): gnero, nmero...

Sintaxis
Combinacin de palabras que producen frases

Semntica
Significado de palabras + estructura de frase: significado de frase (normalmente, independiente del contexto)

Pragmtica
Significado de frase + contexto: significado ms profundo

Conocimiento del discurso y del mundo


Suele ser esencial disponer de conocimiento no explcito
IAIC Curso 2005-06 Tema 4 - 3

Proceso de comprensin
Comprensin: proceso de correspondencia de una forma de entrada a otra representacin ms til para una cierta tarea Suele requerir 4 fases
Estas fases suelen tener lmites difusos No todos los sistemas trabajan con las 4 fases necesariamente Anlisis morfo-lxico
El texto se separa en unidades lxicas con significado (lexemas)

Pueden ser fragmentos de una palabra, una o varias palabras

Se obtienen los lexemas y morfemas gramaticales Se les asignan una o varias categoras sintcticas (si ambigedad)

Anlisis sintctico
Se comprueba la correccin de una frase con respecto a las reglas del lenguaje (gramtica) Se convierte la secuencia (lineal) de unidades lxicas en estructuras sintcticas (no lineales)
IAIC Curso 2005-06 Tema 4 - 4

Proceso de comprensin
Anlisis semntico
Se asigna significado a una frase Correspondencia entre estructuras sintcticas y objetos del dominio representados en algn lenguaje de representacin del conocimiento

Se descartan las estructuras sintcticas para las que no pueda hacerse esta correspondencia

Anlisis pragmtico
Hasta esta fase el anlisis se hace a nivel de frase. Aqu, pasan a considerarse prrafos enteros o incluso textos de forma global La mayora de los sistemas reales no la incluyen Se resuelven las referencias relativas al contexto (ambigedades referenciales, como por ej. referentes de un pronombre) y se asigna significado global a un conjunto de frases

IAIC Curso 2005-06

Tema 4 - 5

Proceso de comprensin
Dependiendo de las aplicaciones puede no ser necesario realizar todas las fases Tampoco es necesario el desarrollo secuencial de las fases
Puede ser necesario hacer alguna vuelta atrs Propagar de una fase a la siguiente todas las alternativas: algunas se descartarn Hay casos en los que se realiza un anlisis sintctico seguido de un anlisis semntico totalmente independientes En otros casos se realiza un anlisis sintctico semntico en una sola etapa, dirigido por la sintaxis En algunos sistemas se realiza un anlisis semntico y la sintaxis juega un papel secundario Tambin se utiliza una arquitectura de pizarra (memoria compartida entre los distintos mdulos). En cada momento acta sobre la pizarra el mdulo de anlisis ms conveniente
IAIC Curso 2005-06 Tema 4 - 6

Anlisis morfo-lxico
Se basa en
Diccionarios (lexicones) Reglas morfolgicas (derivaciones de palabras)

Ambas cosas son interdependientes


Si en el diccionario slo guardamos lexemas, necesitaremos muchas reglas morfolgicas Si guardramos todas las formas de las palabras en el diccionario, no necesitaramos reglas morfolgicas Hay que llegar a un compromiso entre ambos extremos

Dificultades
Polisemia: palabra con varios significados
Ej.: banco (dinero, sentarse, ro, peces)

Homonimia: palabras distintas con la misma grafa


Ej.: divorciado (nombre, adjetivo y verbo)
IAIC Curso 2005-06 Tema 4 - 7

Diccionarios
En los diccionarios se guardan distintos tipos de informacin:
Categora sintctica
Categoras cerradas (preposiciones, conjunciones, etc.) Categoras abiertas (nombre, adjetivo, verbo) Si una palabra tiene varias categoras, tiene que aparecer para cada una de ellas

Concordancia
Gnero, nmero, persona, caso

Preposiciones que admite un verbo, tipos de complementos, etc. Informacin morfolgica (patrn de formacin de la palabra) Informacin semntica
Concepto correspondiente, palabras sinnimas Comprensin:

Identificar con qu concepto se corresponde la palabra Varias acepciones varios conceptos


Tema 4 - 8

IAIC Curso 2005-06

Diccionarios
Los diccionarios se suelen organizar utilizando relaciones de herencia mltiple, tanto de tipo gramatical como conceptual La construccin se realiza de forma manual o semi-automtica a partir de una ontologa de conceptos bajo la cual se van colocando las palabras Se implementan con tablas hash, tries o rboles B
Tries: rboles para la recuperacin de palabras (re / trie / val)

IAIC Curso 2005-06

Tema 4 - 9

Fases del anlisis morfo-lxico


Suele incluir 4 etapas:
Descomposicin del texto en palabras y signos de puntuacin Anlisis morfolgico: descomponer una palabra en su raz (lexema), prefijos y sufijos, siguiendo 3 tipos de reglas:
Flexin: plural, femenino, conjugaciones de los verbos, declinaciones segn el caso (p.e. Yo, me) Derivacin: a partir de otra de diferente categora (p.e. adjetivo
adverbio)

Composicin (p.e. Limpia/para/brisas)

Bsqueda en diccionario: anterior o posterior al anlisis morfolgico Tratamiento de errores


Si no se encuentra en el diccionario, a veces se puede establecer su categora por la terminacin (p.e. mente adverbio) Si empieza por mayscula se puede considerar nombre propio Puede haber formatos especiales (fechas, DNI,...) Verificadores ortogrficos. Palabras que se diferencian en 1 letra o con letras intercambiadas
IAIC Curso 2005-06 Tema 4 - 10

WORDNET (Princeton University)


Base de datos lxica del ingls organizada semnticamente La 1 versin (1993) contena 95.600 palabras o grupos de palabras organizadas en 70.100 significados diferentes o conjuntos de sinnimos (la actual: 152.059 y 115.424) Relacin entre palabras por distintas relaciones semnticas:
sinonimia, antonimia es-un: hiponimia, hipernimia parte-de: meronimia, holonimia

Organizacin de palabras en una jerarqua de unos 12 niveles que permite la herencia (basada en ideas de redes semnticas)
Hay 4 categoras sintcticas: nombre, verbo, adjetivo y adverbio Hay palabras que estn repetidas en ms de una categora sintctica (homonimia) Una palabra puede tener varios significados (polisemia) y para cada uno de ellos se da una lista de sinnimos (synset)
IAIC Curso 2005-06 Tema 4 - 11

WORDNET (Princeton University)

IAIC Curso 2005-06

Tema 4 - 12

WORDNET (Princeton University)

IAIC Curso 2005-06

Tema 4 - 13

WORDNET (Princeton University)

IAIC Curso 2005-06

Tema 4 - 14

WORDNET (Princeton University)

IAIC Curso 2005-06

Tema 4 - 15

Anlisis sintctico
Deslinearizacin de una frase, determinando las funciones que realizan las palabras que la componen, para obtener as una estructura jerrquica que permita asignarle significado El significado de una frase depende en gran medida del orden de sus palabras Cada lenguaje natural tiene sus propias reglas en cuanto a la aceptabilidad de las posibles combinaciones de palabras como frases vlidas
Estas reglas se suelen representar en forma de gramticas

La mayora de los sistemas realizan anlisis sintctico usando


Una gramtica: representacin declarativa de la sintaxis del lenguaje Un analizador sintctico (parser): programa que compara las reglas de la gramtica con las frases a analizar para producir las estructuras correspondientes
IAIC Curso 2005-06 Tema 4 - 16

Gramticas
Una gramtica G se define como una cudrupla (VN, VT, P, S) donde
VN: vocabulario no terminal VT: vocabulario terminal (disjunto del anterior) P: conjunto finito de producciones (reglas de reescritura) S: smbolo inicial perteneciente a VN Cada produccin es de la forma X Y, siendo
X e Y cadenas de smbolos de V VN VT X cadena no vaca

Una gramtica describe las estructuras vlidas del lenguaje que denota
Se usan aqu para el anlisis sintctico de las frases El resultado puede ser uno o varios rboles sintcticos

IAIC Curso 2005-06

Tema 4 - 17

Tipos de gramticas
Jerarqua de Chomsky (1957):
Gramticas tipo 0 (Recursivamente enumerables)
Sin restricciones en cuanto a la forma de las producciones Equivalentes en potencia expresiva a las mquinas de Turing

Gramticas tipo 1 (Dependientes del contexto)


A siendo A VN, , V*, V+

Gramticas tipo 2 (Independientes del contexto)


A siendo A VN, V* Equivalentes en potencia a los autmatas de pila

Gramticas tipo 3 (Regulares)


A a o A a B siendo A, B VN, a VT Equivalentes en potencia a los autmatas finitos

IAIC Curso 2005-06

Tema 4 - 18

Gramticas para lenguajes naturales


Las GICs son muy utilizadas como gramticas para LPs y lenguajes naturales
Hay construcciones de algunos lenguajes naturales que no son independientes del contexto (p.ej., los fenmenos de concordancia) La mayor parte de su estructura s lo es

Las regulares se ajustan peor, incluso a los LPs


Imposibilidad de capturar anidamientos, por ejemplo

Existen muchos mecanismos eficientes de parsing para este tipo de gramticas (tipo 2 y 3) Lo ms habitual en el procesamiento del lenguaje natural es utilizar gramticas independientes del contexto con algn tipo de extensin
Estas caractersticas adicionales las dotan de mayor capacidad expresiva y cambian su lugar en la jerarqua
IAIC Curso 2005-06 Tema 4 - 19

Gramticas para lenguajes naturales


El hecho de si los lenguajes naturales son o no expresables con gramticas de tipo 2 es motivo de controversia entre los lingistas
Hasta mitad de los 80, los lingistas se concentraron en los lenguajes independientes del contexto y dependientes del contexto (tipo 2 y tipo 1) Desde entonces, ha crecido la importancia de los lenguajes regulares, ocasionado por la necesidad de procesar muy rpidamente cantidades ingentes de texto en lnea, incluso a costa de un anlisis menos completo Como dice Fernando Pereira: Cuanto ms viejo me vuelvo, ms abajo voy en la jerarqua de Chomsky

IAIC Curso 2005-06

Tema 4 - 20

Tipos de anlisis sintctico


Mtodo descendente (razonamiento hacia delante)
Empieza a partir del smbolo inicial y va aplicando producciones hasta que se ha desarrollado el rbol de derivacin y los smbolos terminales que etiquetan a las hojas se corresponden con la frase

Mtodo ascendente (razonamiento hacia atrs)


El analizador empieza por los smbolos terminales de la frase, viendo a qu categora corresponden, y aplicando las reglas al revs intenta alcanzar el smbolo inicial

La eleccin suele depender


En primer lugar, del factor de ramificacin Tambin de si hay heursticas aplicables para desechar caminos

Mtodo hbrido: ascendente con filtro descendente La salida puede no ser una nica estructura (si hay ambigedad sintctica y se quieren varias respuestas)
IAIC Curso 2005-06 Tema 4 - 21

Ambigedad sintctica
Ejemplo
Como todos los das... No se ha analizado toda la frase: conjuncin o verbo? Podra aclararse al seguir leyendo
Como todos los das llegas tarde / Como todos los das ensalada

Hay varias alternativas para lidiar con esto en la implementacin de los analizadores sintcticos

Pero hay frases genuinamente ambiguas


Estaba en casa cuando llam 1 o 3 persona? O se siguen todos los caminos
Costoso por mantener estructuras intermedias que se desecharn

O se contempla el backtracking
Costoso tambin por cmputos duplicados

Lo ms habitual: una sola interpretacin plausible en esta fase


IAIC Curso 2005-06 Tema 4 - 22

Ambigedad sintctica
F GN N Juan V come GV GN N arroz P con GP GN N palillos

Este anlisis es correcto desde el punto de vista sintctico. Adems es vlido semnticamente porque los palillos son un instrumento y no algo comestible
IAIC Curso 2005-06 Tema 4 - 23

Ambigedad sintctica
F GN N Juan V come N arroz P con GV GN GP GN N palillos

Este anlisis es correcto desde el punto de vista sintctico, pero no desde el punto de vista semntico. Lo sera para una frase como Juan come arroz con pimientos
IAIC Curso 2005-06 Tema 4 - 24

Anlisis sintctico
Tipos de analizadores sintcticos ms usados en sistemas de tratamiento del lenguaje natural
Gramticas aumentadas
Extensin de las GICs (p.ej. para concordancia) Formalismo Parte del anlisis Reconocimiento (encaje) Construccin de la estructura de frase
IAIC Curso 2005-06

ATNs (redes con transiciones aumentadas) Comprobacin categoras de palabras y tests asociados a los arcos Asignacin

Gramticas de unificacin

Unificacin

Unificacin

Tema 4 - 25

ATNs (Augmented Transition Networks)


Las ATNs se corresponden con un proceso de anlisis sintctico descendente
Similar a una mquina de estados finitos en la que se ha ampliado el tipo de etiquetas que se pueden asociar a los arcos que definen las transiciones Los arcos se pueden etiquetar con palabras especficas, con categoras de palabras (nombre, adjetivo, ...), llamadas a otras redes, procedimientos diversos...

El inconveniente de las ATNs es su importante componente procedimental, que limita su utilidad


Describe el orden en el que deben construirse los constituyentes Los sistemas no pueden usar la misma gramtica tanto para comprensin como para generacin Es el compromiso procedimental/declarativo que afecta a la flexibilidad de la representacin: ms declarativa, ms flexible
IAIC Curso 2005-06 Tema 4 - 26

Gramticas de unificacin
Las gramticas de unificacin o gramticas lgicas utilizan el mecanismo de unificacin como base para el proceso de anlisis
Este mecanismo es mucho ms potente que los mecanismos de comparacin y asignacin utilizados en las ATNs y adems no requiere que el rbol de derivacin de una parte de la frase est completado antes de empezar a analizar la siguiente

Las gramticas de unificacin se utilizan, adems de en el anlisis sintctico, en otros anlisis como el morfolgico y el semntico Las gramticas de clusulas definidas (DCGs) son uno de los tipos de gramticas de unificacin ms utilizados
Forman parte del Prolog estndar Se concibieron como una generalizacin ejecutable de las GICs

IAIC Curso 2005-06

Tema 4 - 27

DCGs (Gramticas de clusulas definidas)


Las DCGs son un formalismo de representacin de gramticas de unificacin que permite representar directamente gramticas independientes del contexto (tipo 2)
Se usa --> como operador para representar la de las reglas Los smbolos no terminales deben ser tomos Los smbolos terminales deben ser tomos tambin. Para distinguirlos de los no terminales, una secuencia de terminales se escribe como una lista (la cadena vaca es [ ]) Se separan los smbolos mediante comas Las reglas terminan en punto

Las DCGs incluyen una serie de extensiones que permiten representar caractersticas dependientes del contexto y que les confieren una potencia expresiva equivalente a las mquinas de Turing
IAIC Curso 2005-06 Tema 4 - 28

DCGs (Gramticas de clusulas definidas)


Ejemplo:
frase --> grupo_nominal, grupo_verbal. grupo_nominal --> nombre. grupo_verbal --> verbo, grupo_nominal. grupo_verbal --> verbo. nombre --> [manzanas]. nombre --> [juan]. verbo --> [come]. podra estar definiendo a una GIC G = (VN, VT, P, S) donde
VN = {frase, grupo_nominal, grupo_verbal, nombre, verbo} VT = {manzanas, juan, come} S = frase P contiene las producciones anteriores
IAIC Curso 2005-06 Tema 4 - 29

Traduccin a Prolog de DCGs: idea bsica


Cada smbolo no terminal se convierte en un predicado unario cuyo parmetro representa una cadena que puede derivarse a partir de l
Las cadenas de smbolos terminales se representan como listas, y la concatenacin de cadenas se representa como la concatenacin de listas % frase --> grupo_nominal, grupo_verbal. frase(Xs) :grupo_nominal(As), grupo_verbal(Bs), append(As, Bs, Xs). % grupo_nominal --> nombre. grupo_nominal(Xs) :- nombre(Xs). % nombre --> [manzanas]. nombre([manzanas]).
IAIC Curso 2005-06 Tema 4 - 30

DCGs a Prolog: listas diferencia


Las estructuras diferencia o estructuras incompletas son una tcnica de representacin de datos exclusiva de Prolog, que explota el potencial de la unificacin y de las variables lgicas, usndolas como huecos que denotan una parte de la estructura an no computada
Generalizan la idea de acumulador extendindola a estructuras de datos arbitrarias Las estructuras de datos incompletas ms usadas son las listas diferencia Representacin de una lista como la diferencia entre dos listas
Resumiendo: [1, 2, 3 | Xs] \ Xs es [1,2,3] y Zs\Zs es [ ]

Permite concatenacin en tiempo constante (mayor eficiencia)

IAIC Curso 2005-06

Tema 4 - 31

Traduccin a Prolog de DCGs: realidad


Los preprocesadores de DCGs que realizan la traduccin de estas gramticas a Prolog utilizan listas diferencia por eficiencia
Una lista diferencia As\Bs se representa con 2 parmetros As y Bs % frase --> grupo_nominal, grupo_verbal. % frase(Xs) :% % grupo_nominal(As), grupo_verbal(Bs), append(As, Bs, Xs). grupo_nominal(A, C), grupo_verbal(C, B). % nombre --> [manzanas]. % nombre([manzanas]). nombre([manzanas | A], A).

frase(A, B) :-

IAIC Curso 2005-06

Tema 4 - 32

DCGs
El uso de DCGs no requiere conocer su traduccin a Prolog
Siempre podemos ver el resultado del proceso de traduccin automtico a clusulas Prolog usando el predicado listing/0 Lo importante es saber que para hacer consultas hemos de aadir 2 parmetros extra al final (de los cuales, el ltimo siempre es [ ]) En el ejemplo anterior, comprobamos si una frase es correcta: ?- frase([juan, come, manzanas], []). O generamos todas las frases correctas (derivables): ?- frase(X, []). X= [manzanas, come, manzanas] ; X= [manzanas, come, juan] ; X= [manzanas, come] ; X= [juan, come, manzanas] ; X= [juan, come, juan] ; X= [juan, come] ;
IAIC Curso 2005-06

No

Tema 4 - 33

DCGs: extensiones con respecto a las GICs


Las extensiones a las GICs que incorporan las DCGs suponen aadirles una serie de caractersticas que pueden resumirse en
Posibilidad de efectuar llamadas a predicados Prolog (encerrndolos entre llaves { }) Posibilidad de aadir parmetros a los smbolos no terminales Potencia de la unificacin

Esto aumenta su utilidad y potencia expresiva, convirtiendo a las GICs en una nueva clase de gramticas ejecutables: las DCGs
Permiten representar restricciones de concordancia, obtener el rbol de anlisis y facilitar otras tareas relacionadas con el anlisis

Las ideas para la traduccin automtica a programas Prolog son las mismas
Los smbolos no terminales, que pueden tener ahora aridad n, se convierten en predicados n+2-arios
Los 2 parmetros extra son la lista diferencia y siempre son los ltimos
IAIC Curso 2005-06 Tema 4 - 34

Parmetros en smbolos no terminales


Ejemplo de uso para garantizar la concordancia entre sujeto y verbo
frase --> grupo_nominal(Numero), grupo_verbal(Numero). grupo_nominal(Numero) --> nombre(Numero). grupo_verbal(Numero) --> verbo(Numero), grupo_nominal(Numero1). %CD grupo_verbal(Numero) --> verbo(Numero). nombre(plural) --> [manzanas]. nombre(singular) --> [juan]. verbo(singular) --> [come].

Mismo uso:
IAIC Curso 2005-06

?- frase([juan, come, manzanas], []).


Tema 4 - 35

Parmetros en smbolos no terminales


Concordancia entre sujeto y verbo
frase --> grupo_nominal(Numero), grupo_verbal(Numero). grupo_nominal(Numero) --> nombre(Numero). grupo_verbal(Numero) --> verbo(Numero), grupo_nominal(Numero1). %CD grupo_verbal(Numero) --> verbo(Numero). nombre(plural) --> [manzanas]. nombre(singular) --> [juan]. verbo(singular) --> [come].

Uso para generacin


?- frase(Xs, []). Xs = [juan, come, manzanas] ; Xs = [juan, come, juan] ; Xs = [juan, come] ; No IAIC Curso 2005-06

Tema 4 - 36

Parmetros en smbolos no terminales


Ejemplo de uso para obtencin del rbol de anlisis
frase(f(GN, GV)) --> grupo_nominal(GN), grupo_verbal(GV). grupo_nominal(gn(N)) --> nombre(N). grupo_verbal(gv(V, GN)) --> verbo(V), grupo_nominal(GN). grupo_verbal(gv(V)) --> verbo(V). nombre(n(manzanas)) --> [manzanas]. nombre(n(juan)) --> [juan]. verbo(v(come)) --> [come].

IAIC Curso 2005-06

Tema 4 - 37

Parmetros en smbolos no terminales


Para obtener el rbol de derivacin de la frase
?-frase(Arbol, [juan, come, manzanas], []). Arbol = f(gn(n(juan)), gv(v(come), gn(n(manzanas))))

Generacin de frases y rboles


?- frase(Arbol, Xs, []). Arbol = f(gn(n(manzanas)), gv(v(come), gn(n(manzanas)))) Xs = [manzanas, come, manzanas] ; Arbol = f(gn(n(manzanas)), gv(v(come), gn(n(juan)))) Xs = [manzanas, come, juan] ; Arbol = f(gn(n(manzanas)), gv(v(come))) Xs = [manzanas, come] ; Arbol = f(gn(n(juan)), gv(v(come), gn(n(manzanas)))) Xs = [juan, come, manzanas] ; Arbol = f(gn(n(juan)), gv(v(come), gn(n(juan)))) Xs = [juan, come, juan] ; Arbol = f(gn(n(juan)), gv(v(come))) Xs = [juan, come] ; No
IAIC Curso 2005-06 Tema 4 - 38

Llamadas a predicados
Otra extensin consiste en incorporar requisitos de satisfaccin de predicados Prolog en la parte derecha de las reglas Estos predicados actan como llamadas a procedimientos externos a la gramtica Deben distinguirse sintcticamente para evitar que sean considerados como categoras sintcticas por el preprocesador de DCGs
Si no, les aadira los dos argumentos habituales, y probablemente resultara en un error de ejecucin Por ello las llamadas a predicados Prolog se colocan entre llaves en las reglas Su traduccin a Prolog es directa: se mantienen tal cual (eliminando las llaves)

IAIC Curso 2005-06

Tema 4 - 39

Llamadas a predicados
Ejemplo de uso en construccin de diccionarios:
En vez de nombre(n(manzanas)) --> [manzanas]. nombre(n(juan)) --> [juan]. Conviene poner nombre(n(P)) --> [P], {es_nombre(P)}. es_nombre(manzanas). es_nombre(juan).

De esta forma, la implementacin del diccionario se hace en forma de hechos y no mediante reglas que haran crecer innecesariamente el tamao de la gramtica
IAIC Curso 2005-06 Tema 4 - 40

Llamadas a predicados
Ejemplo de uso para comprobacin de preposiciones permitidas por verbos (sub-categorizacin de verbos)
frase --> nombre_propio, verbo(X), complemento(X). complemento([]) --> []. complemento([X]) --> preposicin(X), nombre_propio. verbo(C) --> [P], {es_verbo(P, C)}. nombre_propio --> [P], {es_nombre_p(P)}. preposicin(P) --> [P], {es_prepo(P)}.

es_verbo(piensa, [en]). es_verbo(re, []). es_verbo(habla, [con]).

es_nombre_p(juan). es_nombre_p(mara). es_nombre_p(ana).

es_prepo(en). es_prepo(con).

IAIC Curso 2005-06

Tema 4 - 41

Llamadas a predicados
Si queremos que haya ms de un complemento:
complemento([]) --> []. complemento([X|Xs]) --> preposicin(X), nombre_propio, complemento(Xs). es_verbo(habla, [de, con]). es_prepo(de). Siempre: ... habla de ... con ... % cambio % se aade

Si se quiere que haya ms flexibilidad en el orden de los complementos y que algunos puedan ser opcionales, hay que recurrir a un tratamiento de listas ms elaborado, utilizando por ejemplo el predicado member/2
IAIC Curso 2005-06 Tema 4 - 42

Anlisis semntico
El rbol de anlisis sintctico de una frase es tan slo el primer paso hacia la comprensin de la frase Hay que producir una representacin de su significado
Comprensin del LN: proceso de correspondencia de una forma de entrada a otra representacin de salida til para una cierta tarea No existe El Lenguaje en el que representar todos los significados
Cualquiera de los sistemas de representacin vistos sera un candidato Y an nos faltara definir el vocabulario que se utilizar (los predicados concretos, los marcos o lo que corresponda...)

Llamaremos a este lenguaje final, sea el que sea, lenguaje objeto

Su eleccin depende de lo que haya que hacer con los significados una vez construidos
Aplicacin de LN: lenguaje objeto diseado para procesar LN
Con primitivas como las de las DCs o CYC

LN como interfaz: lenguaje objeto = entrada a otro programa


An as, conviene usar representacin intermedia BC
IAIC Curso 2005-06 Tema 4 - 43

Anlisis semntico
El objetivo de interpretacin semntica que se plantea depende totalmente de la aplicacin a desarrollar
Aplicacin Interfaz en LN a Base de Datos Interfaz Sistema Operativo Sistema de dilogo Analizador de noticias Sintetizador de textos Traductor Automtico Sistema de comprensin de texto
IAIC Curso 2005-06

Salida Lenguaje de consulta BD rdenes del SO Respuesta adecuada en LN Relleno de una plantilla Texto en LN Texto en LN Lenguaje de representacin de conocimiento
Tema 4 - 44

Anlisis semntico
Tipos de aplicaciones
Ms simples: salida producida directamente a partir de la entrada Ms complejas: se usa representacin intermedia del significado

Anlisis semntico
Procesamiento lxico: buscar las palabras en un diccionario y desambiguar (en lo posible) teniendo en cuenta el contexto local
Las conexiones estructurales entre la estructura sintctica y la semntica permiten seleccionar entre los distintos posibles resultados del anlisis sintctico: slo aquellos cuyo significado tenga sentido

Procesamiento a nivel de oracin: representacin semntica

Algunos de los mtodos utilizados


Encaje de patrones (pattern-matching) Gramticas semnticas Gramticas de casos
IAIC Curso 2005-06 Tema 4 - 45

Anlisis sintctico vs. anlisis semntico


Ejemplo: Juan peg a Miguel
Ejemplo de rbol de anlisis sintctico F GN N Juan V peg GV P a GN N Miguel Ejemplo de rbol de anlisis semntico
El significado del verbo es la parte central de la semntica

peg_a Juan
IAIC Curso 2005-06

Miguel
Tema 4 - 46

Encaje de patrones
Es un mecanismo muy primitivo utilizado en sistemas como ELIZA que simulaba un psiclogo No se puede considerar una verdadera interpretacin semntica, ya que slo daba respuestas aparentemente adecuadas en funcin de los patrones que haba reconocido
No hay comprensin

Por ejemplo:
Patrn X always Y X you Y me I remember X Respuesta Can you think of a specific example? Why do you think I Y you? Why do you remember X just now?

IAIC Curso 2005-06

Tema 4 - 47

Ejemplo de funcionamiento de Eliza


Patrn X always Y X you Y me Respuesta Can you think of a specific example? Why do you think I Y you?

Paciente: People always stare at me Eliza: Can you think of a specific example? Paciente: For instance you keep staring at me Eliza: Why do you think I keep staring at you? En ingls funciona mejor por el tipo de morfologa del idioma
IAIC Curso 2005-06 Tema 4 - 48

Gramticas semnticas
Incorporan conocimiento sintctico, semntico y pragmtico en un conjunto de reglas que constituye una gramtica
El resultado del anlisis es una descripcin semntica de la frase

Las categoras son semnticas en vez de sintcticas


La posicin de la palabra en la frase se usa para dar significado Suele haber una accin semntica asociada a cada regla

Simplifican muchos aspectos (concordancias, ...) Se utilizan en interfaces a programas como bases de datos, sistemas expertos, sistemas operativos, etc. Por ejemplo, el sistema LIFER para acceso a una base de datos sobre barcos
En la pregunta hay que identificar por qu atributo me estn preguntando y por qu barco concreto
Tema 4 - 49

IAIC Curso 2005-06

Sistema LIFER
Gramtica:
pregunta --> comienzo, [the], atributo, [of], barco. comienzo --> [what,is]; [tell,me]; [can,you,tell,me]. atributo --> [length]; [beam]; [class]. barco --> [the], nombrebarco; nombreclase, [class, ship]. nombrebarco --> [kennedy]; [enterprise]. nombreclase --> [kitty,hawk]; [lafayette]. atributo y barco es lo que interesa (no categoras sintcticas)

Ejemplos de preguntas admitidas:


What is the length of the kennedy Tell me the class of the enterprise
IAIC Curso 2005-06

What is the beam of lafayette class ship

Tema 4 - 50

Sistema LIFER
En Prolog:
?- pregunta([what, is, the, length, of, the, kennedy], []).

Como lo que queremos es construir una interfaz a la base de datos, no basta con analizar la frase sino que hay que devolver (o producir) el nombre del barco y la caracterstica por la que se pregunta Supongamos que la base de datos tambin est implementada en Prolog
barco_atrib_val(kennedy, length, 1200). barco_atrib_val(kennedy, beam, 250). barco_atrib_val(kennedy, class, lafayette). barco_atrib_val(enterprise, length, 1100). ...
IAIC Curso 2005-06 Tema 4 - 51

Sistema LIFER
La gramtica quedara (con acciones semnticas):
pregunta(Nombre, Atributo) --> comienzo, [the], atributo(Atributo), [of], barco(Nombre). comienzo --> [what,is]; [tell,me]; [can,you,tell,me]. atributo(Atributo) --> [Atributo], {es_atributo(Atributo)}. barco(Nombre) --> [the], nombre_barco(Nombre); nombre_clase(Nombre), [class,ship]. nombre_barco(Nombre) --> [Nombre], {es_nombre_barco(Nombre)}. nombre_clase(Nombre) --> [Nombre], {es_nombre_clase(Nombre)}.
IAIC Curso 2005-06 Tema 4 - 52

Sistema LIFER
Y el diccionario as:
es_atributo(Atributo):- barco_atrib_val(_, Atributo, _), !. es_nombre_barco(Nombre):barco_atrib_val(Nombre, _, _), !. es_nombre_clase(Nombre):barco_atrib_val(_, class, Nombre), !.

Una vez analizada la pregunta hay que hacer la consulta a la B.D. barco_atrib_val(Nombre, Atributo, Val) y escribir Val Por ejemplo
procesa_pregunta(Xs) :pregunta(Nombre, Atributo, Xs, []), barco_atrib_val(Nombre, Atributo, Val), write(El valor del atributo es ), write(Val). ?- procesa_pregunta([what,is,the,length,of,the,kennedy]).
IAIC Curso 2005-06

El valor del atributo es 1200

Tema 4 - 53

Ventajas e inconvenientes
Mtodo eficiente para la interpretacin del LN en dominios reducidos, eliminando mucha ambigedad sintctica
El resultado del anlisis se puede usar inmediatamente
En el ejemplo, se han juntado todas las fases en una puesto que slo interesa el resultado del anlisis semntico Y se ha hecho la conexin con la B.D. inmediatamente

Carecen de abstracciones sintcticas, por lo que muchas construcciones similares se repiten en distintas categoras semnticas. Debido a ello, crecen demasiado rpidamente
Al poder necesitarse muchas reglas, el proceso de anlisis puede resultar muy costoso

Evolucionan hacia la integracin de abstracciones sintcticas y semnticas en la misma gramtica


Se evitan las ambigedades de anlisis estrictamente sintcticas teniendo en cuenta la semntica
IAIC Curso 2005-06 Tema 4 - 54

Ventajas e inconvenientes
Tras muchos experimentos de uso de gramticas semnticas en una gran variedad de dominios, las conclusiones fundamentales parecen ser
Gran utilidad para producir interfaces restringidas para el LN muy rpidamente Pero no ofrecen una solucin global al problema de la comprensin del lenguaje natural
Imposibilidad de capturar generalizaciones lingsticas importantes

IAIC Curso 2005-06

Tema 4 - 55

Gramticas de casos
Aproximacin alternativa a la combinacin de las interpretaciones sintctica y semntica
Se usan reglas para describir las regularidades sintcticas Las estructuras producidas por las reglas se corresponden con relaciones semnticas en lugar de sintcticas

Se realiza un anlisis de la frase para determinar los distintos casos gramaticales (papeles o roles) que juegan las palabras que la componen (agente, objeto, lugar, etc.). El significado de una frase suele representarse con un marco cuya cabeza es el verbo principal y cuyos slots se corresponden a los distintos casos
imprimi agente: Susana objeto: Archivo
IAIC Curso 2005-06 Tema 4 - 56

Gramticas de casos
El objetivo es que distintas frases que significan lo mismo (distintos rboles sintcticos, misma semntica) deberan representarse con un mismo marco
Susana imprimi el archivo El archivo fue impreso por Susana
imprimi agente: Susana objeto: Archivo

No hay un acuerdo claro acerca del conjunto correcto de casos


Algunos obvios:
agente, instrumento, lugar, origen, destino, beneficiario, objeto, tiempo...

Dirigido por las entradas lxicas asociadas con los verbos


Anlisis basado en expectativas (las que da el verbo)
IAIC Curso 2005-06 Tema 4 - 57

Gramticas de casos
Por ejemplo, la frase En el ro Juan pesc una trucha para Pedro con una caa podra dar como resultado del anlisis:
[PESCAR [frame de casos agente: JUAN objeto: TRUCHA instrumento: CAA lugar: RO beneficiario: PEDRO] [forma verbal tiempo: pasado voz: activa] ]
IAIC Curso 2005-06 Tema 4 - 58

Gramticas de casos
Se pueden considerar las dependencias conceptuales como un tipo particular de gramtica de casos con la restriccin de representar exclusivamente primitivas semnticas
A veces, se llama anlisis conceptual Guiado por un diccionario que describe los significados de las palabras como estructuras de dependencia conceptual

Por ejemplo:
Juan dio un libro a Mara
[ATRANS rel: POSESIN actor: JUAN objeto: LIBRO origen: JUAN receptor: MARA]
IAIC Curso 2005-06

Mara cogi un libro de Juan


[ATRANS rel: POSESION actor: MARIA objeto: LIBRO origen: JUAN receptor: MARA]
Tema 4 - 59

Gramticas de casos
Se extrae el verbo principal y el sujeto
Se localiza el verbo en el diccionario: varias posibles entradas

Se analiza el resto de la frase buscando componentes para rellenar las ranuras vacas de la estructura verbal En los marcos de casos se suelen representar explcitamente ciertas heursticas (marcadores) sobre cmo localizar el caso en la frase junto con restricciones sobre sus posibles valores
Marcadores posicionales: sirven para establecer cul es la posicin habitual del caso dentro de la frase
Ejemplo: el objeto de la frase suele ser el complemento directo, el cual suele ser el primer nombre tras el verbo

Marcadores lxicos: palabras con las que suele comenzar el caso


Ejemplo: preposiciones que introducen el caso (lugar en)

Marcadores semnticos: establecen restricciones sobre los valores que puede tomar un caso
Ejemplo: un actor es un ser animado
IAIC Curso 2005-06 Tema 4 - 60

Gramticas de casos: ejemplo


Para analizar frases como Copia los ficheros ejecutables de la biblioteca del sistema a mi directorio necesitaramos algo como
[COPIAR [objeto: marcador posicional: objeto_directo marcador semntico: <estructura de informacin> ] [origen: marcador lxico: de marcador semntico: <almacn de informacin> | <dispositivo de entrada> ] [destino: marcador lxico: a | en marcador semntico: <almacn de informacin> | <dispositivo de salida> ] ]
IAIC Curso 2005-06 Tema 4 - 61

Tendencia actual
Utilizar un nico formalismo de representacin de gramticas, como DCGs, que permita representar todas las caractersticas lxicas, sintcticas y semnticas como restricciones

GRAMTICAS BASADAS EN RESTRICCIONES


Restricciones de orden (estructura de frase) Restricciones de seleccin (concordancia, marcadores, gramticas semnticas, encaje de patrones, etc.)

IAIC Curso 2005-06

Tema 4 - 62

Anlisis pragmtico
Anlisis de los textos de forma global
La mayora de los sistemas reales no lo incluyen

Estudiar los fenmenos que transcienden el anlisis frase a frase


Tener en cuenta el contexto

Clases de fenmenos del lenguaje


Anfora o referencia anafrica: uso de una palabra que hace referencia o reemplaza a otras palabras (que han aparecido antes, ya sea en la misma frase o en otras)
En particular, hace referencia al uso de pronombres Por ejemplo, en muchas frases el sujeto hace referencia a un nombre que aparece en otra frase

Juan est buscando a su perro. l piensa que lo encontrar.

IAIC Curso 2005-06

Tema 4 - 63

Anlisis pragmtico
Tratamiento de las anforas
Tcnicas basadas en mantener el foco de atencin
Los pronombres sucesivos se sustituyen por el foco de atencin ms cercano que concuerde sintctica y semnticamente Se mantiene la lista de entidades del discurso que se han referenciado en las ltimas frases

Hace falta mucho conocimiento


Puse el disco en el armario. Despus lo cog. Puse el disco en el armario. Despus lo cerr. Sustituir lo por un nombre de la frase anterior: disco o armario?

Algunas referencias no son directas sino a travs de es-un o es-parte-de


Compr un gato. El animal no me dejaba dormir. Compr un coche. Las ruedas estaban gastadas.

IAIC Curso 2005-06

Tema 4 - 64

Anlisis pragmtico
Ms clases de fenmenos del lenguaje
Elipsis: omitir partes de la frase que tienen que completarse a partir del contexto para determinar el significado
Por ejemplo, sujeto omitido Juan perdi su perro. Paco tambin.

Referencia a acciones y no nicamente a cosas o personas...

Construcciones extra-gramaticales
No respetan la gramtica aunque podemos darle significado

Construcciones metalingsticas
Referencias a frases anteriores Aunque dije que iba a llover realmente no lo parece

Intenciones de los interlocutores


Difcil de tratar La misma frase dicha por dos personas distintas puede significar cosas distintas segn la intencin del que habla
IAIC Curso 2005-06 Tema 4 - 65

Anlisis pragmtico
Se necesita un conocimiento del dominio muy profundo para entender las relaciones entre distintas frases. Los programas que lo consiguen
O bien cuentan con unas bases de conocimiento muy grandes O bien el dominio de discurso est tan restringido que basta con una base de conocimiento ms limitada

El anlisis pragmtico slo es realista si restringimos mucho el dominio


Sistemas de consulta a bases de datos: catlogos de pisos, ordenadores... El vocabulario est predefinido y las frases tienen patrones claros

La forma en la que se organiza el conocimiento es crtica para que los sistemas tengan xito en esta fase

IAIC Curso 2005-06

Tema 4 - 66

Generacin de lenguaje natural


Aplicaciones en las que el lenguaje enlatado no es suficiente
Sistemas de dilogo Sistemas expertos de soporte de decisiones generacin de explicaciones Tutores inteligentes Sistemas de traduccin automtica

Dos componentes
Mdulo estratgico
Cubre la generacin profunda del lenguaje Se ocupa de qu decir Depende totalmente de la aplicacin

Mdulo tctico
Generacin superficial del lenguaje Se ocupa de cmo decirlo
IAIC Curso 2005-06 Tema 4 - 67

Generacin de lenguaje natural


Generacin estratgica: se tiene en cuenta
Objetivos
Qu informacin se pretende transmitir al usuario

Planes para la consecucin de estos objetivos


Cmo organizar y fraccionar la informacin que vamos a transmitir

Modelos de usuario
La informacin que vamos a presentar depende del usuario Permiten tener en cuenta

Lo que sabe el usuario Para qu va a usar la informacin el usuario Los modelos de usuario estticos no cambian Los modelos dinmicos son aqullos en los que el conocimiento del usuario va cambiando.

Estticos o dinmicos

Se aplican a sistemas de aprendizaje (por ejemplo, a tutores inteligentes)

IAIC Curso 2005-06

Tema 4 - 68

Generacin de lenguaje natural


Generacin tctica: se compone de dos tareas
Seleccin lxica
Elegir de un diccionario las palabras que se van a usar para transmitir la informacin

Seleccin sintctica
Elegir qu tipo de frases voy a usar Basada en el uso de DCGs

IAIC Curso 2005-06

Tema 4 - 69

Tratamiento del lenguaje natural


El problema de los mtodos racionalistas que hemos visto es la dificultad de codificar manualmente el conocimiento lingstico necesario (diccionarios, gramticas, etc.)
Trabajar con un lenguaje reducido Tenemos que almacenar todas las palabras de un lenguaje Los mtodos racionalistas no tienen contemplada la capacidad de aprendizaje En cambio, los mtodos empricos aprenden a partir de datos prcticos (corpus de documentos)

IAIC Curso 2005-06

Tema 4 - 70

Tratamiento del LN: mtodos empricos


Mtodos empricos
Inspirados en el xito de los mtodos estadsticos (modelos ocultos de Markov) utilizados en el reconocimiento del habla Las reas de uso ms importantes son:
Marcado de frases (asignacin de categora sintctica a cada palabra) > 95% Traduccin automtica mediante alineamiento de textos (dados los mismos textos en dos idiomas distintos)

Ejemplo: Sesiones bilinges del parlamento canadiense Anotamos a mano varios significados El sistema estadsticamente determinar el ms probable en la siguiente aparicin

Desambiguacin lxica

IAIC Curso 2005-06

Tema 4 - 71

Tratamiento del LN: mtodos empricos


Mtodos empricos (continuacin)
Anlisis sintctico (bancos de rboles)

Ej.: 50.000 frases del Wall Street Journal Gramticas probabilsticas independientes del contexto Creamos una plantilla con campos preestablecidos que se rellenarn automticamente a partir de un texto plano Fase de entrenamiento + fase de aprendizaje basada en los ejemplos previos (que deben ser similares)

Extraccin de informacin

Los sistemas que utilizan mtodos empricos necesitan una fase de entrenamiento en la que se les debe proporcionar un nmero suficiente de ejemplos No todos los enfoques empricos utilizan mtodos estadsticos
Algunos usan mtodos simblicos de aprendizaje inductivo
IAIC Curso 2005-06 Tema 4 - 72

Mtodos empricos: conclusiones


Su comportamiento depende de
la complejidad de la tarea la calidad de los corpus la complejidad sintctica y semntica de los documentos la regularidad del lenguaje en los documentos

Los documentos a analizar tienen que ser muy similares a los del corpus de entrenamiento Han prosperado mucho debido a las competiciones organizadas por el Ministerio de Defensa americano Si es necesario construir un corpus especfico para un dominio entonces suele ser pequeo no vlido estadsticamente

IAIC Curso 2005-06

Tema 4 - 73

Mtodos empricos: Conclusiones


Internet es demasiado heterognea para aplicar estas tcnicas de forma general Anotar un corpus sigue siendo un cuello de botella como el que se pretende evitar apartndose de los mtodos racionalistas Adems estos mtodos tienen un lmite real en su capacidad de anlisis Son sistemas ms baratos pero, una vez alcanzado su lmite, deben complementarse con mtodos racionalistas

IAIC Curso 2005-06

Tema 4 - 74

Vous aimerez peut-être aussi