procesamiento del lenguaje natural · el procesamiento del lenguaje natural es una disciplina de la...
TRANSCRIPT
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Arquitectura y componentes: Modelos
Modelo pipeline standard
Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural
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
Arquitectura y componentes: Modelos
Modelo HUB: The DARPA Galaxy Communicator Architecture
Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural
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
Arquitectura y componentes: Modelos
Modelo Sintagma de Natural Language
Inteligencia Artificial II 2010–2011 Procesamiento del lenguaje natural
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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