procesamiento del lenguaje natural · el procesamiento del lenguaje natural es una disciplina de la...

76
Procesamiento del lenguaje natural F. J. Mart´ ın Mateos J. F. Quesada Moreno J. L. Ruiz Reina Dpto. Ciencias de la Computaci´on e Inteligencia Artificial Universidad de Sevilla Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Upload: dodang

Post on 20-Sep-2018

234 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Procesamiento del lenguaje natural

F. J. Martın MateosJ. F. Quesada Moreno

J. L. Ruiz Reina

Dpto. Ciencias de la Computacion e Inteligencia ArtificialUniversidad de Sevilla

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 2: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Contenidos

Introduccion

Teorıa de Lenguajes Formales

Arquitectura y componentes

Comprension del lenguaje natural: Tokenizacion, Parsing,UnificacionReconocimiento y sıntesis de vozGestion del dialogoArquitecturas globales

Gramaticas probabilısticas

Modelos probabilısticos: n-gramas

Recuperacion de la informacion

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 3: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Introduccion

El Procesamiento del Lenguaje Natural es una disciplina de laInteligencia Artificial que se ocupa de la formulacion einvestigacion de mecanismos computacionales para lacomunicacion entre personas y maquinas mediante el uso deLenguajes Naturales

Los Lenguajes Naturales son los utilizados en la comunicacionhumana, ya sean escritos, hablados o signados

A este nivel, es interesante destacar como el conceptoLenguaje Natural surge en el siglo XX por oposicion a losLenguaje Formales (surgidos en el ambito de la Logica y laMatematica) y los Lenguajes de Especificacion yProgramacion (surgidos en el ambito de las Ciencias de laComputacion)

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 4: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Introduccion

La ACL (Association for Computational Linguistics) define laLinguıstica Computacional como el estudio cientıfico dellenguaje desde una perspectiva computacional. En concreto, laLinguıstica Computacional se centra en la creacion de modeloscomputacionales para diferentes fenomenos linguısticos

El termino Ingenierıa del Lenguaje Natural ha aparecidorecientemente intentando definir un area de trabajopreocupada simultaneamente tanto por los problemas formalesy linguısticos que subyacen en este campo, ası como porcuestiones de metodologıa, integracion, eficiencia, desarrollo,etc., relacionadas con la creacion de este tipo de sistemas y suimplantacion en entornos reales

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 5: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Introduccion

La Ingenierıa del Lenguaje Natural se puede definirbasicamente como un campo multidisciplinar de investigaciony desarrollo de modelos formales y aplicaciones comercialesdirigidos hacia la creacion de conceptos, tecnicas yherramientas que permitan la manipulacion computacional delos lenguajes humanos

Las principales areas de investigacion y desarrollo son:Tecnologıas de la voz

Reconocimiento de la vozSıntes del hablaIdentificacion y verificacion de usuarios

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 6: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Introduccion

Areas de investigacion y desarrolloProcesamiento del Lenguaje Natural

Recuperacion de Informacion y Extraccion de InformacionAnalisis lexico-morfologicoParsing (analisis gramatical o sintactico)Comprension del lenguaje natural (analisis semantico)Generacion del lenguaje natural

Traduccion Automatica

Traduccion Automatica Hablada

Sistemas de gestion de dialogo

Interpretacion del discursoGestion del discursoGestion del dialogo hablado

Linguıstica de corpusRecursos linguısticos: creacion y evaluacion

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 7: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

AlfabetoUn alfabeto Σ es un conjunto finito y no vacıo de sımbolos.

Cadena de sımbolosUna cadena de sımbolos de longitud n en Σ es una aplicacion:

f : n → Σ (1)

Es decir, para todo i , 1 ≤ i ≤ n, f (i) ∈ Σ.

Cadena vacıaSe define la cadena vacıa, ε, como la aplicacion:

ε : 0 → Σ (2)

Longitud de una cadenaDada una cadena α de longitud n de un alfabeto Σ,representaremos la longitud de α mediante |α|.Cuando sea necesario, indicaremos que α es una cadena desımbolos de longitud n mediante αn: |αn| = n.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 8: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

Σ∗ y Σ+

Dado un alfabeto Σ se define Σn como el conjunto de todaslas cadenas de sımbolos de longitud n.A partir de Σn se definen los conjuntos:

Σ∗ =⋃

n≥0

Σn (3)

Σ+ =⋃

n>0

Σn (4)

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 9: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

Subcadena de sımbolosSea αn una cadena de sımbolos de un alfabeto Σ.Se define la subcadena i , j de α, donde 1 ≤ i ≤ j ≤ n como lasiguiente aplicacion:

αi ,j : j − i + 1 → Σ (5)

tal que, para todo h, 1 ≤ h ≤ j − i + 1:

αi ,j(h) = α(i + h − 1) (6)

Obviamente |αi ,j | = j − i + 1.Mediante αi representaremos a la subcadena αi ,i .

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 10: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

Concatenacion de cadenasSean αn y βm dos cadenas de sımbolos de un alfabeto Σ:

αn : n → Σ

βm : m → Σ

La concatenacion de αn y βm, que representaremos medianteα a β, o simplemente αβ, se define como:

αna βm : n +m → Σ (7)

tal que, para todo i , 1 ≤ i ≤ n +m:

αna βm(i) =

α(i) si i ≤ n,β(i − n) si i > n.

(8)

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 11: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

Igualdad de sımbolosDado un alfabeto Σ y dos sımbolos α, β ∈ Σ, diremos que α yβ son iguales y lo representaremos mediante α = β si α y βson el mismo elemento de Σ.

Igualdad de cadenas de sımbolosDado un alfabeto Σ y dos cadenas de sımbolos α y β de Σ, esdecir α, β ∈ Σ∗, diremos que α y β son iguales y lorepresentaremos mediante α = β si:

α = β syss

|α| = |β|, yαi = βi , para todo i , 1 ≤ i ≤ |α|

(9)

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 12: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

LenguajeUn lenguaje L sobre un alfabeto Σ es un conjunto de cadenasfinitas de elementos de Σ.

Ejemplo 1Dado el alfabeto Σ = a, b, c podemos definir los siguienteslenguajes sobre Σ:

1 L1 = a, b, c , aa, bb, cc2 L2 = abc , aabbcc , aaabbbccc3 L3 = Todas las cadenas de sımbolos de Σ tales que el numero

de aes es igual al de bes y al de ces

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 13: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

Ejemplo 2Dado el siguiente alfabeto,

Σ = el , la, los, las, hombre, hombres,mujer ,mujeres, come, comen

podemos definir los siguientes lenguajes sobre Σ:

1 L1 = el hombre, los hombres, la mujer , las mujeres2 L2 = el hombre come, los hombres comen,

la mujer come, las mujeres comen

A los elementos de un alfabeto se les denomina en generalcaracteres (aunque en ciertas ocasiones, como en el Ejemplo 2podremos decir que Σ es el lexico y sus elementos sedenominaran terminos).

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 14: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

GramaticaUna gramatica G es una tetra–upla, G = (N,Σ,P , S), donde:

1 N es un conjunto finito y no vacıo de sımbolos no terminales.2 Σ es un conjunto finito y no vacıo de sımbolos terminales. N y

Σ seran disjuntos: N ∩ Σ = φ. A la union de N y Σ se ledenomina vocabulario V de la gramatica.

3 P ⊆ (N ∪ Σ)∗N(N ∪ Σ)∗ × (N ∪ Σ)∗

4 S ∈ N. S es el sımbolo raız de G .

A los elementos de P , (α, β) ∈ P se les denominaproducciones de la gramatica y se representan medianteα → β.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 15: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

Cadena generada o Forma sentencial1 S (el sımbolo raız) es una cadena generada.2 Si Γ∆Ω es una cadena generada, donde Γ,∆,Ω ∈ (N ∪ Σ)∗, y

∆ → Λ ∈ P , entonces, ΓΛΩ es tambien una cadena generada.

Mediante

Σ ⇒G ∆

indicaremos que la cadena Σ genera en la gramatica G lacadena ∆, siendo Σ,∆ ∈ (N ∪ Σ)∗. Cuando por el contextoquede claro a que gramatica nos estamos refieriendopodremos abreviar la notacion anterior como

Σ ⇒ ∆

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 16: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

SentenciaUna sentencia generada por una gramatica es una cadenagenerada cuyos sımbolos pertenecen todos a T , es decir, sontodos terminales.

Lenguaje generado por una gramaticaEl lenguaje generado por una gramatica G , querepresentaremos mediante LG , se define como el conjunto desentencias generadas por dicha gramatica.Es decir,

LG = ∆ ∈ T : S ⇒G ∆

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 17: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

Ejemplo 3Sea G = (N,Σ,P , S), donde:

1 N = S ,B ,C2 Σ = a, b, c3 P =

S → aAbcS → εA → aAbCA → εCb → bCCc → cc

4 S . Obviamente S ∈ N

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 18: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

Es posible obtener la siguiente secuencia de derivaciones (dondepara cada derivacion se ha indicado la produccion de la gramaticaque se ha aplicado):

S ⇒(S→aAbc) aAbc

⇒(A→aAbC) aaAbCbc

⇒(A→ε) aabCbc

⇒(Cb→bC) aabbCc

⇒(Cc→cc) aabbcc

En este caso, S , aAbc , aaAbCbc , aabCbc , aabbCc y aabbcc sonformas sentenciales o cadenas generadas por G , de las que soloaabbcc es una sentencia. Finalmente, podemos observar que ellenguaje generado por G es

LG = ε, abc , aabbcc , aaabbbccc , . . . = anbncn : n ≥ 0.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 19: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

Tipos de gramaticas: la jerarquıa de Chomsky

Sea G = (N,Σ,P , S) una gramatica:

G es de Tipo 3 o Regular si todas las producciones son de laforma:

1 S → ε2 A → aB3 A → Ba4 A → a

Donde S es el sımbolo raız, A, B ∈ N, a ∈ Σ.Si una gramatica regular no posee reglas del tipo 3 sedenomina lineal o regular por la derecha. Si no posee reglas deltipo 2 entonces se denomina lineal o regular por la izquierda.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 20: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Teorıa de Lenguajes Formales

G es de Tipo 2 o Libre de Contexto si todas lasproducciones son de la forma:

α → ∆

Donde α ∈ N y ∆ ∈ (N ∪ Σ)∗

G es de Tipo 1 o Sensible al Contexto si todas lasproducciones son de la forma

∆ → Γ

Donde ∆, Γ ∈ (N ∪ Σ)∗ y |∆| ≤ |Γ|.

G es de Tipo 0 o Universal si sus producciones no estansujetas a ninguna restriccion.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 21: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes

Para analizar los principales componentes que intervienen eneste ambito, utilizaremos como referencia las aplicaciones deltipo Sistemas de Gestion de Dialogo Hablado, ya que se tratade las aplicaciones en las que intervienen practicamente todoslos componentes posibles y que requieren un modelado muyexhaustivo de la propia arquitectura del sistema.

En las siguientes trasparencias se analizan cada uno de lospasos principales en los que se puede estructurar el flujo deinformacion de un Sistemas de Gestion de Dialogo Hablado.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 22: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Entrada y multimodalidad

La entrada se puede producir tanto utilizando voz como textoescrito. Esto exige por tanto disponer de componentes quepuedan:

Capturar la senal acustica a traves de un interfaz telefonico,interfaces web, etc.Ası mismo, es necesario abordar un tratamiento multimodal sise necesita hacer una integracion en tiempo real de lainformacion que se recibe por diferentes canales.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 23: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Entrada hablada yReconocimiento de voz

Si la entrada es hablada, sera necesario utilizar

Un motor de reconocimiento de voz (ASR: Automatic

Speech Recognition) que analice la sena acustica(procesamiento de senales) yGenere el resultado del reconocimiento (reconocimiento devoz), lo que se puede realizar usando varias tecnicas:

N-best hypothesesGrafos de palabras

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 24: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Entrada hablada yReconocimiento de voz

Las tecnicas de reconocimiento de voz mas comunescomienzan llevando a cabo la extraccion de un vector con lascaracterısticas acusticas de la senal cada N milisegundos.

Esta informacion se contrasta con un modelo acusticopreviamente generado mediante un proceso de entrenamiento.

Una de las principales tecnicas utilizadas para la aplicacion dela matriz de caracterısticas sobre el modelo acusticoesta basada en modelos ocultos de Markov.

Finalmente, se aplican modelos estadısticos y/o gramaticalespara filtrar las mejores hipotesis de reconocimiento.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 25: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Entrada escrita yTokenizacion

Si la entrada es escrita, sera necesario tener en cuentaprocesos especıficos de lectura del texto de entrada,tokenizacion y correccion ortografica.

La tokenizacion debe tener en cuenta fenomenos tales como:

Separadores, pudiendo diferenciar entre expresionesmulti-palabra (“sin embargo”, “Felipe II”, ...) o palabrasmulti-expresion (“antidiluviano”, ...)Signos de puntuacion: puntos, comas, parentesis, ...Expresiones numericas (incluyendo a su vez posiblespuntuaciones internas)Ambiguedad lexica: una palabra puede pertenecer a variascategorıas. Por ejemplo, “regalo” puede ser un verbo o unasustantivo o nombre.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 26: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Entrada escrita yTokenizacion

Ejemplo de tokenizacion### => InputSentence:### Juan compr o los 3,532 libros.###### => Tokenizer: [DCA/MemoryMode/Base/LongTokens] ###### [SpellReform ON ] ###### * Word: [Juan] 0- 1 > Category: : NombrePropio### * Word: [compr o] 1- 2 > Category: : Verbo### * Word: [los] 2- 3 > Category: : Determinante### * Word: [3,532] 3- 4 > Category: : Cantidad### * Word: [libros] 4- 5 > Category: : Nombre### * Word: [.] 5- 6 > Category: : Punto

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 27: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Entrada escrita yTokenizacion

Por otro lado, la correccion ortografica debe abordar distintosfenomenos, tales como

Insercion: hmbre - hombreEliminacion: coompro - comproErrores en la separacion de palabras: unregalo - un regaloDislexia o Inversion: Arianda - AriadnaDıgrafos-Homografos homofonos: qu - k, ll - y

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 28: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Entrada escrita yTokenizacion

Ejemplo de tokenizacion### => InputSentence:### Un hmbre coompr o unregalo para Arianda###### => Tokenizer: [DCA/MemoryMode/Base/LongTokens] ###### [SpellReform ON ] ###### * Word: [Un] 0- 1 > Category: : Determinante### * Word: [hmbre] 1- 2 > Category: : Nombre### -> : [hombre] By Insertion/Pos:1/Symbol:[o]### Lexical Score..: : 905### * Word: [coompr o] 2- 3 > Category: : Verbo### -> : [compr o] By Removal/Pos:1/Symbol:[o]### Lexical Score..: : 907### * Word: [un] 3- 4 > Category: : Determinante### SpellReform.: [un] By WordSplit/At End### Lexical Score..: : 458### * Word: [regalo] 4- 5 > Category: : Nombre### > Category: : Verbo### SpellReform.: [regalo] By WordSplit/At Init### Lexical Score..: : 458### * Word: [para] 5- 6 > Category: : Prep### * Word: [Arianda] 6- 7 > Category: : NombrePropio### -> : [Ariadna] By Reversal/Pos:4/Symbol:[n]### Lexical Score..: : 907

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 29: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis gramatical (Parsing)

A partir de la especificacion de un modelo gramatical(utilizando como referencia una gramatica libre de contexto,se debe crear el arbol o arboles de analisis correspondientes.

A este nivel, los principales fenomenos que se deben tener encuenta son:

Construcciones lineales, recursivas y dependencias no localesAmbiguedad gramaticalConstrucciones gramaticalmente incorrectas (flexibilidad)Construcciones multiples (analisis por chunks)Construcciones opcionalesModelos disyuntivosOrden libre de componentes

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 30: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis gramatical (Parsing)

Modelo gramaticalRegla1 : [ O -> < SN? % SV > Punto? ]

Regla2 : [ SN -> Determinante? Cantidad? Nombre ]

Regla3 : [ SN -> < NombrePropio | Pronombre > ]

Regla4 : [ SN -> SN SP ]

Regla5 : [ SV -> Verbo SN? SP? ]

Regla6 : [ SP -> Prep SN ]

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 31: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis gramatical (Parsing)

Compilacion y expansion gramatical##(ST)> R1 Regla1[1] : O -> SN SV Punto##(ST)> R2 Regla1[2] : O -> SN SV##(ST)> R3 Regla1[3] : O -> SV SN Punto##(ST)> R4 Regla1[4] : O -> SV SN##(ST)> R5 Regla1[5] : O -> SV Punto##(ST)> R6 Regla1[6] : O -> SV##(ST)> R7 Regla2[7] : SN -> Determinante Cantidad Nombre##(ST)> R8 Regla2[8] : SN -> Determinante Nombre##(ST)> R9 Regla2[9] : SN -> Cantidad Nombre##(ST)> R10 Regla2[10] : SN -> Nombre##(ST)> R11 Regla3[11] : SN -> NombrePropio##(ST)> R12 Regla3[12] : SN -> Pronombre##(ST)> R13 Regla4[13] : SN -> SN SP##(ST)> R14 Regla5[14] : SV -> Verbo SN SP##(ST)> R15 Regla5[15] : SV -> Verbo SN##(ST)> R16 Regla5[16] : SV -> Verbo SP##(ST)> R17 Regla5[17] : SV -> Verbo##(ST)> R18 Regla6[18] : SP -> Prep SN

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 32: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis gramatical (Parsing)

Parsing basico### => InputSentence:### Juan estudia.###### => Tokenizer: [DCA/MemoryMode/Base/LongTokens] ###### [SpellReform ON ] ###### * Word: [Juan] 0- 1 > Category: : NombrePropio### * Word: [estudia] 1- 2 > Category: : Verbo### * Word: [.] 2- 3 > Category: : Punto###### => Parser: [ADP/DENSE |ContextCheck ON ]### * Arc: [6] [0-3]### O### |> SN### | |> NombrePropio (Juan)### |> SV### | |> Verbo (estudia)### |> Punto (.)

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 33: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis gramatical (Parsing)

Parsing: Chunks### => InputSentence:### Llov ıa. Llueve. Llover a.###### => Tokenizer: [DCA/MemoryMode/Base/LongTokens] ###### [SpellReform ON ] ###### * Word: [llovia] 0- 1 > Category: : Verbo### * Word: [.] 1- 2 > Category: : Punto### * Word: [llueve] 2- 3 > Category: : Verbo### * Word: [.] 3- 4 > Category: : Punto### * Word: [llovera] 4- 5 > Category: : Verbo### * Word: [.] 5- 6 > Category: : Punto###### => Parser: [ADP/DENSE |ContextCheck ON ]### * Arc: [11] [0-2]### O### |> SV### | |> Verbo (llovia)### |> Punto (.)### * Arc: [13] [2-4]### O### |> SV### | |> Verbo (llueve)### |> Punto (.)### * Arc: [15] [4-6]### O### |> SV### | |> Verbo (llovera)### |> Punto (.)

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 34: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis gramatical (Parsing)

Parsing: Resolucion de la ambiguedad lexica### => InputSentence:### Yo regalo un regalo a Eva###### => Tokenizer: [DCA/MemoryMode/Base/LongTokens] ###### [SpellReform ON ] ###### * Word: [yo] 0- 1 > Category: : Pronombre### * Word: [regalo] 1- 2 > Category: : Nombre### > Category: : Verbo### * Word: [un] 2- 3 > Category: : Determinante### * Word: [regalo] 3- 4 > Category: : Nombre### > Category: : Verbo### * Word: [a] 4- 5 > Category: : Prep### * Word: [eva] 5- 6 > Category: : NombrePropio###### => Parser: [ADP/DENSE |ContextCheck ON ]### * Arc: [19] [0-6]### O### |> SN### | |> Pronombre (yo)### |> SV### |> Verbo (regalo)### |> SN### |> SN### | |> Determinante (un)### | |> Nombre (regalo)### |> SP### |> Prep (a)### |> SN### |> NombrePropio (eva)

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 35: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis gramatical (Parsing)

Ambiguedad gramatical### => InputSentence:### Juan vio un hombre con un telescopio.###### => Parser: [ADP/DENSE |ContextCheck ON ]### * Arc: [17] [0-8]### O### |> SN### | |> NombrePropio (juan)### |> SV### | |> Verbo (vio)### | |> SN### | |> SN### | | |> Determinante (un)### | | |> Nombre (hombre)### | |> SP### | |> Prep (con)### | |> SN### | |> Determinante (un)### | |> Nombre (telescopio)### | ** |> Verbo (vio)### | |> SN### | | |> Determinante (un)### | | |> Nombre (hombre)### | |> SP### | |> Prep (con)### | |> SN### | |> Determinante (un)### | |> Nombre (telescopio)### |> Punto (.)

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 36: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis semantico

Uno de los principales objetivos es lograr la Comprension dellenguaje natural. Para ello, una vez obtenido el arbolgramatical de analisis el siguiente paso consiste en obtener unarepresentacion semantica formal del significado de la frase.

Para lograr dicho objetivo, hay varios enfoques, entre los quedestacan los enfoques sintactica o gramaticalmente orientados(el objetivo es obtener la estructura de los componentes:Sujeto, Verbo, Objeto, ...), o los enfoques semanticamenteorientados (donde el objetivo es obtener los atributosrelevantes para el dominio (Fecha, Accion, Dominio, etc.).

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 37: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis semantico

En cualquier caso, es necesario llevar a cabo una definicion delas estructuras de rasgos complejas que se van a utilizar, yampliar las reglas libres de contexto de la gramatica con lasacciones que se deben realizar en cada una de ellas.

Uno de los enfoques mas usados se basa en la utilizacion delas tecnicas de unificacion de estructuras complejas de rasgospara construir la representacion semantica final.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 38: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis semantico

Estructuras sin contenido: Grammar Symbol

Estructuras atomicas

BooleanosEnterosRealesString (Closed): Con un dominio de valores restringidoString (Open)

Definicion de estructuras complejas de rasgosOpen:Feature_Model_Specification

DefineFeature:Grammar_Symbol ( Punto )DefineFeature:Atom_Integer ( Cantidad )DefineFeature:Atom_String_Closed ( Genero : ’masculino ’, ’femenino’,’neutro’)DefineFeature:Atom_String_Closed ( Numero : ’singular’ , ’plural’ )DefineFeature:Atom_String_Closed ( Persona : ’1’, ’2’, ’ 3’ )DefineFeature:Atom_String_Closed ( Tiempo : ’presente’ , ’pasado’, ’futuro’ )DefineFeature:Atom_String_Open ( Prep )DefineFeature:Atom_String_Open ( Nucleo )

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 39: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Analisis semantico

Estructuras tipo lista

Estructuras moleculares

ComplejosSecuenciasConjuntosTablas

Definicion de estructuras complejas de rasgosDefineFeature:Mlcl_Complex ( Conc :

( Genero, Numero, Persona ) )

DefineFeature:Mlcl_Complex ( Sintagma :( Nucleo, Conc, Tiempo, Cantidad, Prep, Adyacente ) )

DefineFeature:Mlcl_Complex ( Proposicion :( Verbo, Sujeto, ObjetoD, ObjetoI ) )

DefineFeature:As ( Determinante, Nombre, NombrePropio, P ronombre, Verbo,SN, SP, Sujeto, ObjetoD, ObjetoI, Adyacente

= Sintagma )

DefineFeature:As ( SV, O = Proposicion )Close:Feature_Model_Specification

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 40: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Semantica composicional yUnificacion

La idea basica de la semantica composicional es que elsignificado de una expresion compleja se construye mediantela combinacion de los significados de sus expresionesconstituyentes.

Para ello, por tanto, es necesario en primer lugar asignar elsignificado o modelo de rasgos a los constituyentes basicos,especificados en el lexico, y en segundo lugar especificar lasreglas de composicionalidad semantica

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 41: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Semantica composicional yUnificacion

Durante la fase de analisis lexico-morfologico, cada una de laspalabras o tokens puede incorporar informacion semanticabasica:

Modelo lexico - semantico("yo", Pronombre, (Nucleo:’pronominal’,

Conc:(Numero:’singular’,Persona:’1’)) )("tu", Pronombre, (Nucleo:’pronominal’,

Conc:(Numero:’singular’,Persona:’2’)) )("el", Pronombre, (Nucleo:’pronominal’,

Conc:(Numero:’singular’,Persona:’3’,Genero:’masculino’)) )

("el", Determinante, (Conc:(Genero:’masculino’,Numero :’singular’)) )("los", Determinante, (Conc:(Genero:’masculino’,Numer o:’plural’)) )("la", Determinante, (Conc:(Genero:’femenino’,Numero: ’singular’)) )("las", Determinante, (Conc:(Genero:’femenino’,Numero :’plural’)) )

("estudio", Verbo, (Nucleo:’estudiar’,Tiempo:’presente’,Conc:(Numero:’singular’,Persona:’1’)) )

("estudias", Verbo, (Nucleo:’estudiar’,Tiempo:’presente’,Conc:(Numero:’singular’,Persona:’2’)) )

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 42: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Semantica composicional yUnificacion

Las reglas de unificacion que permiten obtener lacomposicionalidad semantica se asocian a las reglasgramaticales:

Reglas gramaticales y reglas de unificacion(Regla1 : [ O -> < SN? % SV > Punto? ]

ˆ <- #2;ˆ.Sujeto <- #1;ˆ.Verbo.Conc <& ˆ.Sujeto.Conc; )

(Regla2 : [ SN -> Determinante? Cantidad? Nombre ] ˆ <- #1;

ˆ.Cantidad <- #2;ˆ <& #3; )

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 43: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Semantica composicional yUnificacion

Reglas gramaticales y reglas de unificacion(Regla3 : [ SN -> < NombrePropio | Pronombre > ]

ˆ <- #1; )

(Regla4 : [ SN -> SN SP ] ˆ <- #1;

ˆ.Adyacente <- #2; )

(Regla5 : [ SV -> Verbo SN? SP? ] ˆ.Verbo <- #1;

ˆ.ObjetoD <- #2;ˆ.ObjetoI <- #3; )

(Regla6 : [ SP -> Prep SN ] ˆ <- #2;

ˆ.Prep <- #1; )

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 44: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Semantica composicional yUnificacion

Ejemplo### => InputSentence:### Un hombre estudia###### => Tokenizer: [DCA/MemoryMode/Base/LongTokens] ###### [SpellReform ON ] ###### * Word: [un] 0- 1 > Category: : Determinante### * Word: [hombre] 1- 2 > Category: : Nombre### * Word: [estudia] 2- 3 > Category: : Verbo###### => Parser: [ADP/DENSE |ContextCheck ON ]### * Arc: [7] [0-3]### O### |> SN### | |> Determinante (un)### | |> Nombre (hombre)### |> SV### |> Verbo (estudia)###### => Unifier:### * Semic: [Breaks:[7] 0 - 3] O### > O:(Verbo :(Tiempo:’presente’,### Conc :(Genero :’masculino’,### Numero :’singular’,### Persona:’3’),### Nucleo:’estudiar’),### Sujeto:(Conc :(Genero:’masculino’,### Numero:’singular’),### Nucleo:’hombre’))

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 45: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Gestion del Dialogo

La gestion del dialogo debe ser capaz de organizar lasentradas semanticamente analizadas del usuario en un modelode memoria que contenga todo el conocimiento recibido

Por otro lado, la propia comprension de una entrada de unusuario puede ser semanticamente ambigua y solo puede serentendida o desambiguada en un contexto global de dialogo(nivel pragmatico)

Ası mismo, debe ser capaz de conectarse con elementosexternos al sistema de lenguaje natural para obtenerinformacion o ejecutar acciones cuando sea necesario

Finalmente, aparecen fenomenos propios del nivel del dialogoo discurso tales como los subdialogos, sentencias multiples,correcciones intra y extra-sentenciales, etc., que debentratarse a este nivel

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 46: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Generacion

La fase de generacion parte del conocimiento representado enel sistema de memoria del nivel de dialogo, a partir del cualdebe generar una respuesta linguısticamente correcta ycoherente para el usuario: respondiendo a la solicitudrealizada, pidiendo aclaraciones o confirmaciones deinformacion, solicitando informacion adicional, etc.

Basicamente, la generacion utiliza estrategias de generacionsemantica, generacion o modelado gramatical de la respuestae instanciacion lexica.

Los entornos multimodales, ası como los basados en interfacesweb avanzadas, pueden enriquecer la salida del sistemaincorporando informacion adicional util para el usuario(redireccion a paginas web, construccion de tablas deinformacion auxiliar, etc.)

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 47: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Sıntesis de voz

Si se esta usando un entorno con entrada y salida por voz,una vez obtenida la cadena de texto generada por el sistemacomo respuesta al usuario, esta ha de ser transformado en unasenal acustica.

La sıntesis de voz (TTS: Text-To-Speech) utiliza doscomponentes basicos:

Un modulo de Procesamiento de Lenguaje Natural que aplicatecnicas de analisis morfo-sintactico, mapeado fonetico ygeneracion de prosodia, a partir de la cual se obtiene latranscripcion fonetica enriquecida con prosodia.Un segundo modulo de Procesamiento Digital de la Senal(DSP) que obtiene la senal acustica final, lo cual se puederealizar utilizando tecnicas de concatenacion o basadas enreglas.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 48: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Modelos

Modelo pipeline standard

El sistema se concibe como una secuencia (pipeline) secuencial

Hay una distincion muy importante entre procesos (porejemplo: parsing) y fuentes de informacion (por ejemplo:gramatica)

El modelo descansa en una organizacion claramente modularde los componentes ası como en un rıgido flujo de informacionentre los modulos

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 49: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Modelos

Modelo pipeline standard

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 50: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Modelos

Modelo HUB: The DARPA Galaxy Communicator Architecture

Se trata de un marco comun para sistemas de dialogo quepersigue basicamente la interoperatividad de componentessiguiendo un enfoque tipo plug-and-play

La arquitectura se basa en un proceso central Hub que seconecta con distintos servidores: reconocimiento de voz,parsing de lenguaje natural, gestion del dialogo, etc.

Las funciones principales del hub son:

Enrutado: transferencia de mensajes entre componentesMantenimiento: almacenamiento del estado global deinformacionControl del flujo de informacion

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 51: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Modelos

Modelo HUB: The DARPA Galaxy Communicator Architecture

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 52: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Modelos

Modelo Sintagma de Natural Language

Se trata de un modelo que integra una orientacion deprocesos y fuentes de informacion bajo un prisma secuencialcon fuerte motivacion psico-linguıstica

Por otro lado, implementa un sistema comun derepresentacion y almacenamiento de la informacion, actuandocomo repositorio a tres niveles, pero no como proceso

Finalmente, introduce como novedad la organizacion de lagestion de memoria en distintas fases basandose en modelosneurologicos:

MergingRaisingThoughtPhrasingDelivering

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 53: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Arquitectura y componentes: Modelos

Modelo Sintagma de Natural Language

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 54: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Modelos probabilısticos del lenguaje

Un modelo probabilıstico del lenguaje define una distribucionde probabilidad sobre el conjunto de las cadenas de palabras,a partir del analisis de un corpus

Un corpus es una coleccion grande de textos, escritos por ypara humanos

Es decir, cada frase tiene asociada una probabilidad y estasprobabilidades se aprenden a partir de un corpus o se calculana partir de las aprendidas

Los distintos modelos probabilısticos del lenguaje secaracterizaran por las propiedades de independencia asumidas,y la forma en la que se calcula la probabilidad de una frase

Ventajas:

Reflejan mejor la realidad del lenguaje y son mas robustosSe aprenden a partir de textosResuelven ambiguedades

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 55: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Un modelo probabilıstico basado en gramaticas

Una gramatica independiente de contexto probabilıstica esigual a una gramatica independiente de contexto en la quecada regla tiene asociada una probabilidad

La regla N =⇒ W 1, . . . ,W n tiene asociada la probabilidadP(N =⇒ W 1, . . . ,W n|N)La suma de las probabilidades asociadas a las reglas con unmismo sımbolo no terminal en su parte izquierda es 1:∑

j P(N =⇒ W 1j , . . . ,W

njj |N) = 1

Estas gramaticas permiten calcular la probabilidad de unaderivacion sintactica a partir de las probabilidades de todas lasreglas que se han aplicado

La probabilidad de cada regla se aprende analizandocolecciones de textos (corpus)De esta forma se intenta resolver la ambiguedad sintactica:tomese el arbol de derivacion mas probable

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 56: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Gramaticas probabilısticas

Ejemplo

S =⇒ NP VP 1,0NP =⇒ DT N 0,4

|N 0,2|NP PP 0,4

VP =⇒ V NP 0,5|V 0,2|VP PP 0,3

PP =⇒ P NP 0,8|P 0,2

DT =⇒ el | los 0,50 c.u.

N =⇒ hombre | amigos | cafe | leche 0,25 c.u.

V =⇒ toma | toman 0,50 c.u.

P =⇒ con | solo 0,50 c.u.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 57: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Gramaticas probabilısticas

Ejemplo

S1,0

NP0,4 VP0,5

DT0,5 N0,25 V0,5 NP0,4

el hombre toma PP0,2

P0,5

solocafe

N0,25

NP0,2

S1,0

NP0,4 VP0,3

DT0,5 N0,25

el hombre

VP0,5 PP0,2

V0,5

toma

P0,5

soloN0,25

cafe

NP0,2

Probabilidad del primer analisis: 0,000025

Probabilidad del segundo analisis: 0,0000187

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 58: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Gramaticas probabilısticas

Ventajas

Dan una idea probabilıstica de lo buena que es una derivacionsintactica de una frase, permitiendo decidir ante unaambiguedadLas reglas probabilısticas se pueden aprender a partir de unconjunto de ejemplos correctamente formado

Inconvenientes

La probabilidad de una frase depende unicamente de laderivacion sintactica y no tiene en cuenta el contexto lexico:La frase el amigos toma hombre tiene la mismaprobabilidad que el hombre toma cafe

Las frases cortas tienen mayor probabilidad que las largas

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 59: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Modelos probabilısticos basados en n-grams

De manera general, dada una secuencia de palabras w1 ... wn,su probabilidad se podrıa calcula de la siguiente forma:

P(w1 ... wn) = P(w1)P(w2|w1) · · ·P(wn|w1, . . . ,wn−1)

Intuitivamente, cada P(wi |w1, . . . ,wi−1) es la probabilidad deque (en el lenguaje modelado) aparezca la palabra wi acontinuacion de la secuencia w1, . . . ,wi−1

Estas probabilidades se aprenden a partir de un corpus

Pero en la practica es imposible saber la probabilidad de cadapalabra condicionada a cada posible secuencia de palabrasanteriores.

Por esto, se toman determinadas suposiciones deindependencia que simplifican el modelo (a costa de perderprecision)

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 60: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Modelos n-grams

Modelo unigram: Se asume independencia entre palabrasconsecutivas

P(w1 ... wn) =∏

i

P(wi ) con P(wi ) =N(wi )

N

Donde N(wi ) es el numero de ocurrencias de la palabra wi enel corpus y N es el numero total de palabras (incluyendorepeticiones)

Modelo bigram: Se asume dependencia entre una palabra y laanterior, pero independencia con las demas

P(w1 ... wn) = P(w1)∏

i

P(wi+1|wi ) con P(wj |wi ) =N(wi wj)

N(wi )

Donde N(wi wj) es el numero de ocurrencias de la secuencia(bigram) wi wj en el corpus

Un bigram esta formado por dos palabras consecutivas en elcorpus

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 61: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Modelos n-grams

Modelo trigram: Se asume dependencia entre una palabra ylas dos anteriores, pero independencia incondicional con lasdemas

P(w1 ... wn) = P(w1)P(w2|w1)∏

i

P(wi+2|wi+1,wi )

Un trigram esta formado por tres palabras consecutivas en elcorpus

Modelo n-gram: Generalizacion de los modelos anteriores

Un n-gram esta formado por n palabras consecutivas en elcorpus

En estos modelos probabilısticos, salvo el unigram, se tienenen cuenta relaciones contextuales lexicas, que no suelenaparecer en los modelos gramaticales

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 62: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Suavizado en modelos n-gram

En un modelo n-gram, la probabilidad de gran cantidad de lasn-secuencias de palabras sera nula

El numero total de n-secuencias de palabras es muy superior alnumero de n-secuencias que aparecen en el corpus

Esto hace que una secuencia de texto perfectamente validapueda tener probabilidad nula si alguna de sus n-secuenciascomponentes nunca aparece en el corpus

Para evitar esto se utilizan tecnicas de suavizado

La tecnica de suavizado mas simple consiste en sumar 1 a losnumeradores de las probabilidades individuales y compensar lasuma total aumentando adecuadamente los denominadores(Ley de Laplace)Otra tecnica de suavizado consiste en realizar una combinacionlineal de varios modelos probabilısticos

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 63: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Suavizado en modelos n-grams: ley de Laplace

Modelo unigram suavizado:

P(w) =N(w) + 1

N + V1

Donde V1 es el numero total de palabras distintas en el corpus

Modelo bigram suavizado:

P(wj |wi ) =N(wi wj) + 1

N(wi ) + V2

Donde V2 es el numero total de bigrams distintos en el corpus

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 64: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Suavizado en modelos n-grams: interpolacion lineal

Es probable que un trigram w1 w2 w3 aparezca muy poco enel corpus, pero que w2 w3 o w3 sean muy frecuentes

En esta situacion el modelo trigram proporciona unaprobabilidad muy baja a la secuencia w1 w2 w3, pero losmodelos bigram y unigram no

Una forma de suavizar el modelo trigram consiste encombinarlo con los modelos bigram y unigram, de forma que:

P(w3|w1,w2) = λ3P3(w3|w1,w2) + λ2P2(w3|w2) + λ1P1(w3)

Donde P1 es la probabilidad segun el modelo unigram, P2 esla probabilidad segun el modelo bigram, P3 es la probabilidadsegun el modelo trigram y λ1 + λ2 + λ3 = 1

De forma general se puede suavizar un modelo n-gramcombinandolo como modelos (n−1)-gram, ..., bigram yunigram

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 65: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Evaluacion de modelos n-grams

¿Como de bueno es el modelo probabilıstico obtenido a partirde un corpus?

Usualmente, separamos el corpus en dos partes: una paraentrenamiento y otra para tests

Una vez obtenido el modelo probabilıstico a partir del corpusde entrenamiento, evaluamos este calculando lasprobabilidades que este asigna a las cadenas de texto delcorpus de prueba

Para evitar probabilidades demasiado pequenas, se usa lo quese conoce como perplejidad:

Perplejidad(frase) = 2−log2(P(frase))/N

donde N es el numero de palabras de la frase

Cuanto menor la perplejidad, mejor es el modelo

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 66: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Recuperacion de la informacion

Problema: Dada una coleccion de documentos, encontraraquellos mas relevantes con respecto a una necesidad deinformacion expresada por un usuario.

Se caracteriza por:

Una coleccion de documentos (hay que definir que se entiendepor “documento” en cada caso)Una pregunta del usuario realizada usando un lenguajeespecıfico de consultasUn conjunto de resultados obtenidos (un subconjunto de lacoleccion de documentos)Una presentacion de los resultados obtenidos

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 67: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

El modelo de claves booleanas

Cada palabra en la coleccion de documentos es una variablebooleana que es cierta en aquellos documentos en los que lapalabra aparece y falsa en los que no aparece

El lenguaje de consulta es el lenguaje de las expresionesbooleanas construidas sobre las caracterısticas asociadas a laspalabras. Por ejemplo: pollo AND (tomate OR frito)

Un documento es relevante solo si la consulta se evalua averdadero

Este modelo tiene la ventaja de que es muy simple y facil deimplementar. Sin embargo tiene bastantes desventajas

La relevancia de un documento es 1 o 0, no hay una gradacionde la mismaLas expresiones booleanas no suelen ser familiares a losusuarios que no son programadores o logicosEs difıcil realizar una consulta adecuada

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 68: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

El modelo de espacio vectorial

Supondremos a partir de ahora que las consultas las realiza elusuario mediante texto libre

Conjunto de palabras (terminos) que considera relevantes paralo que busca

El modelo de espacio vectorial trata de medir la relevancia deun documento respecto de una consulta a partir de lasfrecuencia con la que ocurre un termino de la consulta en undocumento

Pero considerando menos relevantes aquellos terminos queocurren con mucha frecuencia en la mayor parte de losdocumentos

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 69: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Representacion vectorial de un documento

Definiciones:

La frecuencia de un termino t en un documento d (notadatft,d) es el numero de veces que aparece en el mismoLa frecuencia documental de un termino t (notada dft) es elnumero de documentos en los que aparece el terminoLa frecuencia documental inversa de un termino t esidft = log(N/dft), donde N es el numero total de documentosEl peso de un termino t en un documento d estfidft,d = tft,d · idft

Un vocabulario es un conjunto de terminos que consideramosimportantes en la coleccion de documentos

Podrıamos tomar como vocabulario el conjunto de todos losterminos de todos los documentos, o un subconjuntosignificativo de ellos

En el modelo de espacio vectorial un documento se representacomo el vector de pesos de cada termino del vocabulario

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 70: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Ejemplo en el modelo de espacio de vectores (Grossman)

Documentos:

D1: “Cargamento de oro danado por el fuego”D2: “La entrega de la plata llego en el camion color plata”D3: “El cargamento de oro llego en un camion”

Consulta: “oro plata camion”

Vocabulario: llego, danado, entrega, fuego, oro, plata,cargamento, camion, color.

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 71: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Ejemplo en el modelo de espacio de vectores (Grossman)

Las representaciones vectoriales de D1, D2 y D3 son,respectivamente, ~W1, ~W2 y ~W3 (las tres ultimas columnas dela tabla)

Termino t tft,1 tft,2 tft,3 dft N/dft idft ~W1~W2

~W3

llego 0 1 1 2 1.5 0.1761 0 0.1761 0.1761danado 1 0 0 1 3 0.4771 0.4771 0 0entrega 0 1 0 1 3 0.4771 0 0.4771 0fuego 1 0 0 1 3 0.4771 0.4771 0 0oro 1 0 1 2 1.5 0.1761 0.1761 0 0.1761plata 0 2 0 1 3 0.4771 0 0.9542 0cargamento 1 0 1 2 1.5 0.1761 0.1761 0 0.1761camion 0 1 1 2 1.5 0.1761 0 0.1761 0.1761color 0 1 0 1 3 0.4771 0 0.4771 0

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 72: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Proximidad entre documentos y consultas

La proximidad entre dos documentos se calcula en funcion dela proximidad entre sus vectores de pesos asociados; para ellocalculamos el coseno del angulo que forman:

sim(~V , ~W ) =

i=1 ViWi√

i=1(Vi )2√∑

i=1(Wi )2

Consultas:Una consulta puede ser vista como un documento Q, y portanto como un vector ~Q (la mayorıa de sus componentes serancero)

sim(~Q, ~W ) dara una medida de lo relevante que es eldocumento respecto de la consulta (cuanto mas cercano auno, mas relevante)

Recuperacion de informacion en el modelo vectorial:transformar tanto la consulta como los documentos envectores de pesos, calcular los cosenos y presentar (ordenados)los K mejores

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 73: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Una consulta en el ejemplo anterior

La consulta “oro plata camion” en representacion vectorial es~Q = (0, 0, 0, 0, 0,1761, 0,4771, 0, 0,1761, 0)

Las distintas medidas de similitud son:

sim(~Q, ~W1) = 0,00801

sim(~Q, ~W2) = 0,7561

sim(~Q, ~W3) = 0,3272

Resultados en orden de relevancia: D2, D3, D1

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 74: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Recuperacion de la informacion en la practica

Las palabras muy comunes se suelen ignorar (stop words)

Los terminos en los documentos se suelen normalizar:atendiendo a su raız (stemming), mayusculas/minusculas,acentos, correccion de deletreo, . . .

Se consideran tambien otros factores que influyen en larelevancia de un documento respecto de una consulta:proximidad entre terminos

Evaluacion de sistemas de recuperacion de la informacion

Precision: porcentaje de documentos devueltos comorelevantes que realmente lo sonMemoria (recall): porcentaje de documentos presentados comorelevantes de entre todos los realmente relevantes

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 75: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Recuperacion de la informacion en la practica

Los sistema reales de recuperacion de la informacion sonsistemas que acceden a una cantidad masiva de datos

Es muy importante la eficiencia: ındicesMuchas veces, depende del hardware de almacenamiento

No estamos considerando aquı los sistemas de recuperacion dela informacion en la web

En ese caso, ademas de la similitud vectorial, es importantetambien la estructura de enlaces, que influye en la relevanciadel documento.Ejemplo: PageRank

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural

Page 76: Procesamiento del lenguaje natural · El Procesamiento del Lenguaje Natural es una disciplina de la ... Dado un alfabeto Σ y dos cadenas de s´ımbolos α y β de Σ, es decir α,β

Bibliografıa

Russell, S. y Norvig, P. Inteligencia artificial (Un enfoquemoderno), segunda edicion (Prentice–Hall Hispanoamericana,2004)

Secciones 22.1, 22.4, 22.5, 23.1 y 23.2

Manning, C.D. y Schutze, H. Foundations of statisticalnatural language processing (MIT Press, 1999)

Manning, C.D., Raghavan, P. y Schutze, H. Introduction toInformation Retrieval (Cambridge University Press, 2008)

Secciones 6.2, 6.3, 13.1, 13.2 y 14.3

Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural