F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

77
Introducción Gramáticas Modelos probabilísticos Contenido semántico Procesamiento del lenguaje natural F. J. Martín Mateos J. L. Ruiz Reina Dpto. Ciencias de la Computación e Inteligencia Artificial Ampliación de Inteligencia Artificial, 2013-2014

Transcript of F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Page 1: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Procesamiento del lenguaje natural

F. J. Martín MateosJ. L. Ruiz Reina

Dpto. Ciencias de la Computación e Inteligencia Artificial

Ampliación de Inteligencia Artificial, 2013-2014

Page 2: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Índice

Introducción

Gramáticas

Modelos probabilísticos

Contenido semántico

Page 3: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Introducción

Page 4: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Introducción

• El Procesamiento del Lenguaje Natural es una disciplinade la Inteligencia Artificial que se ocupa de la formulacióne investigación de mecanismos computacionales para lacomunicación entre personas y máquinas mediante el usode Lenguajes Naturales

• Los Lenguajes Naturales son los utilizados en lacomunicación humana, ya sean escritos, hablados osignados

Page 5: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Introducción

• Aplicaciones del Procesamiento del Lenguaje Natural:• Comprensión del lenguaje• Recuperación de la información• Extracción de la información• Búsqueda de respuestas• Generación de discurso• Traducción automática• Reconstrucción de discurso• Reconocimiento del habla• Síntesis de voz• . . .

Page 6: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Fases de la comunicación (R&N)

• Intención: A quiere transmitir la idea P a B

• Generación: A transforma P en la frase W1

• Síntesis: A envía W ′1 a B (donde W ′

1 es la realización físicade W1)

• Percepción: B percibe W ′′1 como la realización física W ′

1 ylo decodifica como la frase W2

• Análisis: B infiere que W2 puede tener como posiblessignificados P1, . . . ,Pn

• Resolución de ambigüedades: B decide que Pi es elsignificado más probable de entre los posibles

• Incorporación: B decide si cree o no la idea Pi

Page 7: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Análisis del lenguaje

• Se analiza la estructura del lenguaje a cuatro niveles• Análisis morfológico: El análisis de las palabras para

extraer raíces, rasgos flexivos, unidades léxicascompuestas y otros fenómenos

• Análisis sintáctico. El análisis de la estructura sintáctica dela frase mediante una gramática de la lengua en cuestión

• Análisis semántico. La extracción del significado (o posiblessignificados) de la frase

• Análisis pragmático. El análisis de los significados más alláde los límites de la frase, por ejemplo, para determinar losantecedentes referenciales de los pronombres

Page 8: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Técnicas de análisis del lenguaje

• Las distintas fases y problemáticas del análisis dellenguaje se afrontan principalmente con las siguientestécnicas

• Técnicas lingüísticas formales: Se basan en el desarrollode reglas estructurales que se aplican en las fases deanálisis del lenguaje

• Técnicas probabilísticas: Se basan en el estudio en base aun conjunto de textos de referencia (corpus), decaracterísticas de tipo probabilístico asociadas a lasdistintas fases de análisis del lenguaje

• Modelos para el procesamiento del lenguaje natural• Lógicos (gramáticas)• Probabilísticos (basados en corpus)

Page 9: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas

Page 10: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas independientes de contexto• Una gramática independiente de contexto está formada

por:• Un conjunto de símbolos terminales T (las palabras)• Un conjunto de símbolos no terminales N (los

constituyentes o categorías sintácticas)• Un símbolo no terminal inicial S• Un conjunto de reglas de producción, que indican las

maneras en que se puede derivar una oración valida apartir del símbolo inicial

• Estas reglas son de la forma N =⇒ W , donde N ∈ N yW ∈ (N ∪ T )∗

• Usualmente, para describir una gramática, sólo seproporcionan las reglas

• Los símbolos no terminales se escriben en mayúsculas yson los únicos que pueden aparecer en el lado izquierdo delas reglas

• Los símbolos terminales se escriben en minúsculas• El símbolo inicial es siempre el mismo: S

Page 11: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas independientes de contexto

• Ejemplo:

S =⇒ SN SVSN =⇒ D N

|N|SN C

SV =⇒ V SN|V|SV C

C =⇒ P SN|P

D =⇒ el | los

N =⇒ hombre | amigos | café | leche

V =⇒ toma | toman

P =⇒ con | solo

Page 12: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas independientes de contexto

• Utilizando las reglas de la gramática, podemos derivaroraciones

• Una regla se aplica sustituyendo el símbolo que apareceen la parte izquierda por los que aparecen en su partederecha

• Una derivación es la aplicación sucesiva de reglas hastaobtener una expresión que sólo contiene símbolosterminales

Page 13: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas independientes de contexto

• Derivación:

S =⇒ SN SV=⇒ D N SV=⇒ el N SV=⇒ el hombre SV=⇒ el hombre V SN=⇒ el hombre toma SN=⇒ el hombre toma N=⇒ el hombre toma café

• Podemos abreviar la derivación de la siguiente forma:S =⇒∗ el hombre toma café

Page 14: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas independientes de contexto

• La forma en que se ha realizado la derivación se puedecapturar con un árbol de derivación sintáctica

• Ejemplo:

SN

D N

el hombre

V

toma

café

SN

N

S

SV

Page 15: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas independientes de contexto

• El lenguaje generado por una gramática G es el conjuntode frases s para las que existe una derivación:

L(G) = {s ∈ T ∗|S =⇒∗ s}• Formas de utilizar una gramática:

• Para generar texto• Para analizar texto (parsing), obteniendo el árbol sintáctico

• Existen numerosos algoritmos de parsing eficientes(compiladores)

• Las gramáticas independientes del contexto son muy útilespara procesar lenguajes formales (con pocos símbolosterminales y pocas reglas)

Page 16: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas independientes de contexto

• Limitaciones:• Los lenguajes naturales son mucho más expresivos que los

lenguajes descritos por gramáticas independientes decontexto

• Concordancia morfológica: género, número, tiemposverbales, pronombres: El amigos toma café

• Deberíamos tener un conjunto de reglas para frases enplural y otro para frases en singular

• El número de reglas aumenta exponencialmente si sequieren tener en cuenta todas las concordancias

• Ambigüedades sintáctica y semántica• La misma frase tiene distintas derivaciones sintácticas,

aunque sólo una es correcta a nivel semántico: Él toma cafécon leche

• La misma frase tiene distintas derivaciones sintácticas, yambas son correctas a nivel semántico: Él toma café solo

Page 17: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas de Cláusulas Definidas

• Una gramática de cláusulas definidas (GCD) es similar auna gramática independiente de contexto, pero consideraque los símbolos no terminales son símbolos depredicados que pueden llevar argumentos

• Estos argumentos se pueden utilizar para implementarconcordancia morfológica o extracción de significado, entreotras aplicaciones

• También se suelen añadir restricciones en forma depredicados que se tienen que cumplir para que la regla sepueda aplicar

• Estas restricciones se pueden utilizar para separa el léxicode las reglas para las categorías sintácticas

Page 18: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

GCD con concordancia de género y número

• Reglas para las categorías sintácticas:

S =⇒ SN(g, n) SV (g, n)SN(g, n) =⇒ D(g, n) N(g, n)

|N(g, n)|SN(g, n) C(g′, n′)

SV (g, n) =⇒ V (n) SN(g′, n′)|V (n)|SV (g, n) C(g′, n′)

C(g, n) =⇒ P(g, n) SN(g, n)|P(g, n)

N(g, n) =⇒ n {esNombre(n, g, n)}V (n) =⇒ v {esVerbo(v, n)}D(g, n) =⇒ d {esDeterminante(d, g, n)}P(g, n) =⇒ p {esParticula(p, g, n)}

Page 19: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

GCD con concordancia de género y número

• Restricciones del léxico:

esDeterminante(el,m, s)esDeterminante(los,m, p)

esNombre(hombre,m, s)esNombre(amigos,m, p)esNombre(café,m, s)esNombre(leche,m, s)

esVerbo(toma, s)esVerbo(toman, p)

esParticula(con,−,−)esParticula(solo,m, s)

Page 20: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Lenguajes expresables por GCDs

• Incluso en lenguajes formales, GCDs son más expresivasque GIC

• GCD que define el lenguaje L = {a2nb2nc2n: n ∈ N}, no

expresable con una GIC:S =⇒ A(2n)B(2n)C(2n) {n ∈ N}A(0) =⇒A(n) =⇒ aA(n − 1) {n ∈ N

+}B(0) =⇒B(n) =⇒ bB(n − 1) {n ∈ N

+}C(0) =⇒C(n) =⇒ cC(n − 1) {n ∈ N

+}

Page 21: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Modelos probabilísticos

Page 22: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Modelos probabilísticos del lenguaje

• Un modelo probabilístico del lenguaje define unadistribución de probabilidad sobre un conjunto depalabras, a partir del análisis de un corpus

• Un corpus es una colección grande de textos, escritos pory para humanos

• Es decir, cada frase tiene asociada una probabilidad yestas probabilidades se aprenden a partir de un corpus ose calculan a partir de las aprendidas

• Los distintos modelos probabilísticos del lenguaje secaracterizarán por las propiedades de independenciaasumidas, y la forma en la que se calcula la probabilidadde una frase

• Reflejan mejor la realidad del lenguaje y son más robustos• Se aprenden a partir de textos• Resuelven ambigüedades

Page 23: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Un modelo probabilístico basado en gramáticas

• Una gramática independiente de contexto probabilística esigual a una gramática 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 conun mismo símbolo no terminal en su parte izquierda es 1:∑

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

nj

j |N) = 1

• Estas gramáticas permiten calcular la probabilidad de unaderivación sintáctica a partir de las probabilidades detodas las reglas que se han aplicado

• La probabilidad de cada regla se aprende analizandocolecciones de textos (corpus)

• De esta forma se intenta resolver la ambigüedad sintáctica,tomando el árbol de derivación más probable

Page 24: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas probabilísticas

• Ejemplo

S =⇒ SN SV 1,0SN =⇒ D N 0,4

|N 0,2|SN C 0,4

SV =⇒ V SN 0,5|V 0,2|SV C 0,3

C =⇒ P SN 0,8|P 0,2

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

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

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

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

Page 25: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas probabilísticas

• EjemploS1,0

SN0,4 SV0,5

D0,5 N0,25 V0,5 SN0,4

el hombre toma C0,2

P0,5

solocafé

N0,25

SN0,2

S1,0

SN0,4 SV0,3

D0,5 N0,25

el hombre

SV0,5 C0,2

SV0,5

toma

P0,5

soloN0,25

café

SN0,2

• Probabilidad del primer análisis: 0,000025• Probabilidad del segundo análisis: 0,0000187

Page 26: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Gramáticas probabilísticas

• Ventajas• Dan una idea probabilística de lo buena que es una

derivación sintáctica de una frase, permitiendo decidir anteuna ambigüedad

• Las reglas probabilísticas se pueden aprender a partir deun conjunto de ejemplos correctamente formado

• Inconvenientes• La probabilidad de una frase depende únicamente de la

derivación sintáctica y no tiene en cuenta el contextoléxico: El amigos toma hombre tiene la misma probabilidadque El hombre toma café

• Las frases cortas tienen mayor probabilidad que las largas

Page 27: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Modelos n-gram

• De manera general, dada una secuencia de palabrasw1 ... wn, su probabilidad se podría calcular de la siguienteforma:

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

• Intuitivamente, cada P(wi |w1, . . . ,wi−1) es la probabilidadde que (en el lenguaje modelado) aparezca la palabra wi acontinuación de la secuencia w1, . . . ,wi−1

• Estas probabilidades se aprenden a partir de un corpus• En la práctica es imposible saber la probabilidad de cada

palabra condicionada a cada posible secuencia depalabras anteriores

• Se toman determinadas suposiciones de independenciaque simplifican el modelo (a costa de perder precisión)

Page 28: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Modelos n-gram

• Modelo unigram: Se asume independencia entre palabrasconsecutivas

P(w1 ... wn) =∏

i

P(wi)

con P(wi) =N(wi)

NDonde N(wi) es el número de ocurrencias de la palabra wi

en el corpus y N es el número total de palabras(incluyendo repeticiones)

Page 29: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Modelos n-gram

• Modelo bigram: Se asume dependencia entre una palabray la anterior, pero independencia con las demás

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 número de ocurrencias de lasecuencia (bigram) wi wj en el corpus

• Un bigram está formado por dos palabras consecutivas enel corpus

Page 30: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Modelos n-gram

• Modelo trigram: Se asume dependencia entre una palabray las dos anteriores, pero independencia incondicional conlas demás

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

i

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

• Un trigram está formado por tres palabras consecutivas enel corpus

Page 31: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Modelos n-gram

• Modelo n-gram: Generalización de los modelos anteriores• Un n-gram está formado por n palabras consecutivas en el

corpus

• En estos modelos probabilísticos, salvo el unigram, setienen en cuenta relaciones contextuales léxicas, que nosuelen aparecer en los modelos gramaticales

Page 32: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Generación de frases con modelos n-gram

• Para ilustrar las capacidades de los modelos n-gram,podemos generar frases aleatorias siguiendo un muestreoa partir de dichos modelos

• Experimento: a partir el libro de texto de Russel & Norvig,“Artificial Intelligence: A Modern Approach”, construimosmodelos unigram, bigram y trigram.

• Resultados generando secuencias de palabras en cadauno de esos modelos:

• Unigram: logical are as confusion a may right tries agentgoal the was ...

• Bigram: systems are very similar computational approachwould be represented ...

• Trigram: planning and scheduling are integrated thesuccess of naive bayes model ...

Page 33: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Suavizado en modelos n-gram

• En un modelo n-gram, la probabilidad de gran cantidad delas n-secuencias de palabras será nula

• El número total de n-secuencias de palabras es muysuperior al número de n-secuencias que aparecen en elcorpus

• Esto hace que una secuencia de texto perfectamenteválida pueda tener probabilidad nula si alguna de susn-secuencias componentes nunca aparece en el corpus

• Para evitar esto se utilizan técnicas de suavizado• La técnica de suavizado más simple consiste en sumar 1 a

los numeradores de las probabilidades individuales ycompensar la suma total aumentando adecuadamente losdenominadores (Ley de Laplace)

• Otra técnica de suavizado consiste en realizar unacombinación lineal de varios modelos probabilísticos

Page 34: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Suavizado en modelos n-gram: ley de Laplace

• Modelo unigram suavizado:

P(w) =N(w) + 1N + V1

Donde V1 es el número total de palabras distintas en elcorpus

• Modelo bigram suavizado:

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

Donde V2 es el número total de bigrams distintos en elcorpus

Page 35: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Suavizado en modelos n-gram: interpolación lineal

• Es probable que un trigram w1 w2 w3 aparezca muy pocoen el corpus, pero que w2 w3 o w3 sean muy frecuentes

• En esta situación 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:

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

Donde P1 es la probabilidad según el modelo unigram, P2es la probabilidad según el modelo bigram, P3 es laprobabilidad según el modelo trigram y λ1 + λ2 + λ3 = 1

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

Page 36: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Evaluación de modelos n-gram

• ¿Cómo de bueno es el modelo probabilístico obtenido apartir de un corpus?

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

• Una vez obtenido el modelo probabilístico a partir delcorpus de entrenamiento, lo evaluamos calculando lasprobabilidades que asigna a las cadenas de texto delcorpus de prueba

• Para evitar probabilidades demasiado pequeñas, se usa loque se conoce como perplejidad:

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

donde N es el número de palabras de la frase• Cuanto menor la perplejidad, mejor es el modelo

Page 37: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Una aplicación del modelo unigram: segmentación

• Problema: Determinar las palabras de un texto en el queno hay espacios en blanco

• Esta tarea es necesaria en la interpretación de lenguajesque se escriben sin espacios en blanco, como el Japonés oel Chino

• Ejemplo:• Supongamos el siguiente texto sin espacios en blancoEsfácilleerfrasessinespaciosenblanco

• El objetivo es obtener la frase original con un cierto gradode confianza en que así lo esEs fácil leer frases sin espacios en blanco

• Este proceso se puede llevar a cabo fácilmente con unmodelo unigram del lenguaje

Page 38: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Una aplicación del modelo unigram: segmentación

• Consideremos un modelo unigram de un corpus P

• La probabilidad de cada palabra se calcula como lafrecuencia relativa de aparición de dicha palabra en elcorpus (estimador de máxima verosimilitud)

• Dado un texto sin espacios en blanco w de longitud n• Una segmentación de w es una secuencia de palabras

l = w1 ... wk cuya concatenación es igual a w• Notaremos por w l

i la i-ésima palabra en la segmentación lde w

• El objetivo consiste en encontrar la segmentación l conmayor probabilidad

argmaxl

P(l) = argmaxl

i

P(w li )

Page 39: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Algoritmo de segmentación

• Entrada: Una distribución de probabilidad de palabrasobtenida a partir de un modelo unigram de un corpus P yuna cadena de texto w

• Salida: Una cadena de texto idéntica a la de entrada salvopor la inclusión de espacios en blanco para separarpalabras

Page 40: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Algoritmo de segmentación

• Proceso:Sean n = longitud(w)

palabras y mejores un vector vacío de longitud n + 1mejores[0] = 1 y palabras[0] = []

Para cada i desde 1 a npalabra = w [0 : (i − 1)]palabras[i] = palabra y mejores[i] = P(palabra)Para cada j desde 1 a (i − 1)

Sea palabra = w [j : (i − 1)]Si P(palabra) ∗ mejores[j] > mejores[i] entonces

Hacer mejores[i] = P(palabra) ∗ mejores[j] ypalabras[i] = palabra

Sea salida una cadena vacía e i = nMientras i > 0 hacer

salida = ’ ’ + palabras[i] + salidai = i − longitud(palabras[i])

Devolver salida

Page 41: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Algoritmo de segmentación

• Interpretación de los vectores auxiliares• El vector palabras almacena en cada posición i la mejor

palabra que se ha encontrado terminando en la posicióni − 1 del texto de entrada

• El vector mejores almacena en cada posición i laprobabilidad de la mejor segmentación del texto de entradahasta la posición i − 1

Page 42: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Algoritmo de segmentación

• Interpretación de la doble iteración• El algoritmo considera cualquier subcadena del texto de

entrada para ver con que grado de probabilidad dichasubcadena es una palabra completa

• A continuación se calcula la probabilidad de la mejorsegmentación del texto de entrada hasta la posición i − 1en la que la última palabra es la subcadena considerada

• De todas las posibilidades se queda con la mejor, que esalmacenada en la posición i-ésima de los vectorespalabras y mejor

Page 43: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Algoritmo de segmentación

• Obtención de la secuencia de salida• En la posición n-ésima del vector palabras se encuentra la

última palabra de la mejor segmentación del texto deentrada

• Para determinar cual es la palabra anterior hay queacceder a la posición del vector palabras que se obtienerestando de la posición actual el valor de la longitud de laúltima palabra considerada

• Todas las palabras de la mejor segmentación obtenida seconcatenan para formar la salida

• Obsérvese que en mejores[n] está almacenada laprobabilidad de la segmentación obtenida

Page 44: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Ejemplo del algoritmo de segmentación

• Texto de entrada: lacadena• Las probabilidades de ocurrencia de las distintas palabras

se han tomado de http://www.corpusdelespanol.org• i = 1: palabra =l P(l) = 0,00005319

mejores[1] = 0,00005319 palabras[1] =l• i = 2: palabra =la P(la) = 0,03207203

mejores[2] = 0,03207203 palabras[2] =la• i = 2, j = 1: palabra =a P(a) = 0,01723015

0,01723015 ∗ 0,00005319 = 9,164716785e−7 6> 0,03207203• La mejor segmentación hasta la segunda letra es:la

Page 45: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Ejemplo del algoritmo de segmentación

• Texto de entrada: lacadena• i = 3: palabra =lac P(lac) = 0,00000018

mejores[3] = 0,00000018 palabras[3] =lac• i = 3, j = 1: palabra =ac P(ac) = 0,00000206

0,00000206 ∗ 0,00005319 = 1,095714e−10 6> 0,00000018• i = 3, j = 2: palabra =c P(c) = 0,00013811

0,00013811 ∗ 0,03207203 = 0,00000443 > 0,00000018mejores[3] = 0,00000443 palabras[3] =c

• La mejor segmentación hasta la tercera letra es:la c

Page 46: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Ejemplo del algoritmo de segmentación

• Texto de entrada: lacadena• i = 4: palabra =laca P(laca) = 0,00000302

mejores[4] = 0,00000302 palabras[4] =laca• i = 4, j = 1: palabra =aca P(aca) = 0,00000057

0,00000057 ∗ 0,00005319 = 3,03183e−11 6> 0,00000302• i = 4, j = 2: palabra =ca P(ca) = 0,00000811

0,00000811 ∗ 0,03207203 = 0,00000026 6> 0,00000302• i = 4, j = 3: palabra =a P(a) = 0,01723015

0,01723015 ∗ 0,00000443 = 0,00000008 6> 0,00000302• La mejor segmentación hasta la cuarta letra es:laca

Page 47: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Ejemplo del algoritmo de segmentación

• Texto de entrada: lacadena• i = 5: palabra =lacad P(lacad) = 0

mejores[5] = 0 palabras[5] =lacad• i = 5, j = 1: palabra =acad P(acad) = 0,00000110

0,00000110 ∗ 0,00005319 = 5,8509e−11

mejores[5] = 5,8509e−11 palabras[5] =acad• i = 5, j = 2: palabra =cad P(cad) = 0,00000057

0,00000057 ∗ 0,03207203 = 0,00000002 > 5,8509e−11

mejores[5] = 0,00000002 palabras[5] =cad• i = 5, j = 3: palabra =ad P(ad) = 0,00000793

0,00000793 ∗ 0,00000443 = 3,51299e−11 6> 0,00000002• i = 5, j = 4: palabra =d P(d) = 0,00013921

0,00013921 ∗ 0,00000302 = 4,204142e−10 6> 0,00000002• La mejor segmentación hasta la quinta letra es:la cad

Page 48: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Ejemplo del algoritmo de segmentación

• Texto de entrada: lacadena• i = 6: palabra =lacade P(lacade) = 0

mejores[6] = 0 palabras[6] =lacade• i = 6, j = 1: palabra =acade P(acade) = 0,00000004

0,00000004 ∗ 0,00005319 = 2,1276e−12> 0

mejores[6] = 2,1276e−12 palabras[6] =acade• i = 6, j = 2: palabra =cade P(cade) = 0,00000048

0,00000048 ∗ 0,03207203 = 1,53945744e−8> 2,1276e−12

mejores[6] = 1,53945744e−8 palabras[6] =cade• i = 6, j = 3: palabra =ade P(ade) = 0,00000074

0,00000074 ∗ 0,00000443 = 3,2782e−12 6> 1,53945744e−8

• i = 6, j = 4: palabra =de P(de) = 0,050998640,05099864 ∗ 0,00000302 = 0,00000015 > 1,53945744e−8

mejores[6] = 0,00000015 palabras[6] =de• i = 6, j = 5: palabra =e P(e) = 0,00064415

0,00064415 ∗ 0,00000002 = 1,2883e−11 6> 0,00000015• La mejor segmentación hasta la sexta letra es:laca de

Page 49: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Ejemplo del algoritmo de segmentación

• Texto de entrada: lacadena• i = 7: palabra =lacaden P(lacaden) = 0

mejores[7] = 0 palabras[7] =lacade• i = 7, j = 1: palabra =acaden P(acaden) = 0• i = 7, j = 2: palabra =caden P(caden) = 0• i = 7, j = 3: palabra =aden P(aden) = 0,00000004

0,00000004 ∗ 0,00000443 = 1,772e−13> 0

mejores[7] = 1,772e−13 palabras[7] =aden• i = 7, j = 4: palabra =den P(den) = 0,00001529

0,00001529 ∗ 0,00000302 = 4,61758e−11> 1,772e−13

mejores[7] = 4,61758e−11 palabras[7] =den• i = 7, j = 5: palabra =en P(en) = 0,02269451

0,02269451 ∗ 0,00000002 = 4,538902e−10> 4,61758e−11

mejores[7] = 4,538902e−10 palabras[7] =en• i = 7, j = 6: palabra =n P(n) = 0,00005985

0,00005985 ∗ 0,00000015 = 8,9775e−12 6> 4,538902e−10

• La mejor segmentación hasta la séptima letra es:la cad en

Page 50: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Ejemplo del algoritmo de segmentación

• Texto de entrada: lacadena• i = 8: palabra =lacadena P(lacadena) = 0

mejores[8] = 0 palabras[8] =lacadena• i = 8, j = 1: palabra =acadena P(acadena) = 0• i = 8, j = 2: palabra =cadena P(cadena) = 0,00004027

0,00004027 ∗ 0,03207203 = 0,00000129 > 0mejores[8] = 0,00000129 palabras[8] =cadena

• i = 8, j = 3: palabra =adena P(adena) = 0,000000040,00000004 ∗ 0,00000443 = 1,772e−13 6> 0,00000129

• i = 8, j = 4: palabra =dena P(dena) = 0,000000090,00000009 ∗ 0,00000302 = 2,718e−13 6> 0,00000129

• i = 8, j = 5: palabra =ena P(ena) = 0,000000260,00000026 ∗ 0,00000002 = 5,2e−15 6> 0,00000129

• i = 8, j = 6: palabra =na P(na) = 0,000007140,00000714 ∗ 0,00000015 = 1,071e−12 6> 0,00000129

• i = 8, j = 7: palabra =a P(na) = 0,017230150,01723015 ∗ 4,538902e−10 = 7,820596e−12 6> 0,00000129

• La mejor segmentación hasta la octava letra es:la cadena

Page 51: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Algoritmo de segmentación

• Observaciones• El modelo unigram no tiene en cuenta relaciones

contextuales léxicas por lo que el algoritmo considerarácomo más probables algunas segmentaciones sin sentido

• Un proceso similar se aplica a la identificación de palabrasen reconocimiento del habla

Page 52: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Una aplicación del modelo bigram: etiquetadosintáctico

• Problema: Etiquetar cada palabra de un texto con lacategoría sintáctica que le corresponde

• Este es un paso intermedio que permite eliminarambigüedades léxicas antes del análisis sintáctico

• Ejemplo:• Supongamos el siguiente texto sin etiquetarel hombre toma café con leche

• El objetivo es asignar a cada palabra una categoríasintáctica coherente con la estructura de la fraseel/LD hombre/NN toma/VIP café/NN con/E

leche/NN

Page 53: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Etiquetado sintáctico

• Es una aplicación de los Modelos Ocultos de Markov• Hay que determinar la secuencia de etiquetas más

probable dada la secuencia de palabras• La variable de estado es la que identifica la categoría

sintáctica de cada palabra, la distribución de probabilidad deesta variable nos la proporciona un modelo bigram delcorpus

• La variable observable nos indica el valor de la palabra

• El proceso de encontrar el etiquetado de mayorprobabilidad se resuelve con el Algoritmo de Viterbi

• El proceso de etiquetado del corpus se puede realizar conel algoritmo de avance-retroceso para el aprendizaje deprobabilidades para un Modelo Oculto de Markov

Page 54: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Etiquetado sintáctico

• Consideremos un modelo bigram de un corpus P

previamente etiquetado• Dado un texto de n palabras w1,n = w1 w2 ... wn

• Un etiquetado de este texto es una secuencia de etiquetast1,n = t1t2...tn en la que cada ti es la etiqueta asociada a lapalabra wi

• El objetivo consiste en encontrar el etiquetado t1,n conmayor probabilidad

argmaxt1,n

P(t1,n|w1,n) = argmaxt1,n

P(t1,n,w1,n)

Page 55: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Etiquetado sintáctico

• Cada probabilidad condicionada P(t ′|t) se estima con lafrecuencia de ocurrencia de las dos etiquetasconsecutivas en el corpus

P(t ′|t) =N(t t ′)N(t)

• Cada probabilidad condicionada P(w |t) se estima como lafrecuencia con que una palabra tiene una determinadaetiqueta en el corpus

P(w |t) =N(w/t)

N(t)

Page 56: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Contenido semántico

Page 57: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Recuperación de la información

• Problema: Dada una colección de documentos, encontraraquellos más relevantes con respecto a una necesidad deinformación expresada por un usuario

• Se caracteriza por:• Una colección de documentos (hay que definir qué se

entiende por “documento” en cada caso)• Una pregunta del usuario realizada usando un lenguaje

específico de consultas• Un conjunto de resultados obtenidos (un subconjunto de la

colección de documentos)• Una presentación de los resultados obtenidos

Page 58: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

El modelo de claves booleanas

• Cada palabra en la colección de documentos es unavariable booleana que es cierta en aquellos documentosen los que aparece y falsa en los que no aparece

• El lenguaje de consulta es el lenguaje de las expresionesbooleanas construidas sobre las características asociadasa las palabras. Por ejemplo: pollo AND (tomate OR

frito)

• Un documento es relevante sólo si la consulta se evalúa averdadero

• Este modelo tiene la ventaja de que es muy simple y fácilde implementar. Sin embargo tiene bastantes desventajas

• La relevancia de un documento es 1 o 0, no hay unagradación de la misma

• Las expresiones booleanas no suelen ser familiares a losusuarios que no son programadores o lógicos

• Es difícil realizar una consulta adecuada

Page 59: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

El modelo de espacio vectorial

• Supondremos a partir de ahora que las consultas lasrealiza el usuario mediante texto libre

• Conjunto de palabras (términos) que considera relevantespara lo que busca

• El modelo de espacio vectorial trata de medir la relevanciade un documento respecto de una consulta a partir de lasfrecuencia con la que ocurre un término de la consulta enun documento

• Pero considerando menos relevantes aquellos términosque ocurren con mucha frecuencia en la mayor parte de losdocumentos

Page 60: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Representación vectorial de un documento

• Definiciones:• La frecuencia de un término t en un documento d (notada

tft,d ) es el número de veces que aparece en el mismo• La frecuencia documental de un término t (notada dft ) es el

número de documentos en los que aparece el término• La frecuencia documental inversa de un término t es

idft = log(N/dft), donde N es el número total dedocumentos

• El peso de un término t en un documento d estfidft,d = tft,d · idft

• Un vocabulario es un conjunto de términos queconsideramos importantes en la colección de documentos

• En el modelo de espacio vectorial un documento serepresenta como el vector de pesos de cada término delvocabulario

Page 61: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Ejemplo en el modelo de espacio de vectores(Grossman)

• Documentos:• D1: “Cargamento de oro dañado por el fuego”• D2: “La entrega de la plata llegó en el camión color plata”• D3: “El cargamento de oro llegó en un camión”

• Consulta: “oro plata camión”

• Vocabulario: llegó, dañado, entrega, fuego, oro, plata,cargamento, camión, color.

Page 62: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

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 últimas columnasde la tabla)

Término t tft,1 tft,2 tft,3 dft N/dft idft ~W1~W2

~W3

llegó 0 1 1 2 1.5 0.1761 0 0.1761 0.1761dañado 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.1761camión 0 1 1 2 1.5 0.1761 0 0.1761 0.1761color 0 1 0 1 3 0.4771 0 0.4771 0

Page 63: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Proximidad entre documentos y consultas• La proximidad entre dos documentos se calcula en función

de la proximidad entre sus vectores de pesos asociados;para ello calculamos el coseno del ángulo 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 por

tanto como un vector ~Q (la mayoría de sus componentesserán cero)

• sim(~Q, ~W ) dará una medida de lo relevante que es eldocumento respecto de la consulta (cuanto más cercano auno, más relevante)

• Recuperación de información en el modelo vectorial:transformar tanto la consulta como los documentos envectores de pesos, calcular los cosenos y presentar(ordenados) los K mejores

Page 64: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Una consulta en el ejemplo anterior

• La consulta “oro plata camión” en representación vectoriales ~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

Page 65: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Recuperación de la información en la práctica

• Las palabras muy comunes se suelen ignorar (stop words)

• Los términos en los documentos se suelen normalizar:atendiendo a su raíz (stemming), mayúsculas/minúsculas,acentos, corrección de deletreo, . . .

• Se consideran también otros factores que influyen en larelevancia de un documento respecto de una consulta:proximidad entre términos

• Evaluación de sistemas de recuperación de la información:• Precisión: porcentaje de documentos devueltos como

relevantes que realmente lo son• Memoria (recall): porcentaje de documentos presentados

como relevantes de entre todos los realmente relevantes

• Los sistema reales de recuperación de la información sonsistemas que acceden a una cantidad masiva de datos

• Es muy importante la eficiencia: índices• Muchas veces, depende del hardware de almacenamiento

Page 66: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Enlaces entre documentos

• Hasta ahora, no hemos considerando los sistemas derecuperación de la información en la web

• En ese caso, además de la similitud vectorial, esimportante también la estructura de enlaces, que influye enla relevancia del documento.

• Ejemplos:• PageRank de Google• HITS (Hyperlink-Induced Topic Search)

Page 67: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

PageRank

• La relevancia de una página web no puede estar basadaúnicamente en sus tf , debe tenerse en cuenta también elnúmero de enlaces que apuntan a la página:

• Pero no todos los enlaces deben “pesar” igual, sino quedeben contar más aquellos enlaces desde páginas demayor relevancia

• Definición (recursiva):

PR(p) =1 − d

N+ d

i

PR(ini)

C(ini)

• PR(p) es el PageRank de una página p• N es el número total de páginas en el corpus• ini son las páginas que tienen enlaces a p• C(ini) es el número de total enlaces que salen desde ini• d es un factor de amortiguación (entre 0 y 1)

Page 68: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

PageRank

• Modelo de navegación aleatoria: PR(p) es la probabilidadde que una persona que navega por la red llegue en algúnmomento a visitar p, supuesto que en cada página quevisita:

• Con probabilidad d , hace clic aleatoriamente en uno de susenlaces

• Con probabilidad 1 − d , reinicia en una página aleatoria

• El cálculo del PageRank de cada página se actualiza cadavarios meses

• Desde el punto de vista algebraico es el cálculo de unautovector

Page 69: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

HITS

• Cálculo de relevancia basado en dos valoraciones:autoridad (authority) y centro (hub).

• Una página es autoridad en una materia si es una fuenteimportante de información (y por tanto está enlazada desdemuchas otras)

• Una página es un centro en la materia si tiene una buenacolección de enlaces a autoridades en la materia.

• Definición de los índices de autoridad (a) y centro (h):

h(v) =∑

v 7→y

a(y) a(v) =∑

y 7→v

h(y)

• Definición mutuamente recursiva, cuya solución se tienemediante el cálculo de autovectores

Page 70: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Clasificación de documentos

• El problema de clasificar documentos:• Dado un documento d y un conjunto C de categorías

documentales (o temas), encontrar la clase c a la quepertenece d .

• Tiene numerosas aplicaciones:• Filtros anti-spam• Control de contenidos infantiles• Clasificación automática de correos• Detección de sentimientos y opiniones• Presentación de resultados en recuperación de la

información,. . .

• Es un problema de aprendizaje: supondremos quetenemos un conjunto entrenamiento (textos yaclasificados)

Page 71: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Clasificación de documentos en el modelo vectorialcon kNN

• Para clasificar un documento dado, buscar los kdocumentos del conjunto de entrenamiento más cercanosy devolver la clase más frecuente en esos k documentos

• La cercanía la calculamos usando la medida de similituddefinida en el modelo vectorial

• Previamente, hay que elegir:• El vocabulario: conjunto de términos cuyos tfidf servirán

para obtener la representación vectorial• El valor de k

Page 72: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Clasificación de documentos en el modelo vectorialcon kNN

• Vocabulario:• Debe ser un conjunto de términos cuya presencia o

ausencia sea relevante para caracterizar la pertenencia auna clase.

• Existen técnicas estadísticas para elegir esos términos

• Elección de k :• Usando algún conocimiento específico sobre el problema

de clasificación• Realizando pruebas en conjuntos más pequeños• Preferiblemente impar, para intentar evitar empates

• Variante en kNN: para cada clase c, sumar la similitud(con el que se quiere clasificar) de cada documento deesa clase que esté entre los k más cercanos. Devolver laclase que obtenga mayor puntuación.

• Así un documento cuenta más cuanto más cercano esté

Page 73: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Clasificación de documentos usando Naive Bayes• Dado el documento d a clasificar y 〈t1, . . . , tnd 〉 la

secuencia de ocurrencias de términos del vocabulario queaparecen en d , devolver cnb como clasificación de d ,donde cnb se define:

cnb = argmaxc∈C

P(c|d) = argmaxc∈C

P(c)∏

1≤k≤nd

P(tk |c)

• Nota: si un término aparece varias veces en el documento,se tienen en cuenta todas sus ocurrencias

• Para evitar desbordamientos por números muy bajos, sesuele usar la siguiente versión equivalente con logaritmos:

cnb = argmaxc∈C

[logP(c) +∑

1≤k≤nd

logP(tk |c)]

• Como ya sabemos, las probabilidades de estas fórmulasse obtienen como estimaciones ML a partir del conjunto deentrenamiento

Page 74: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Estimación ML de las probabilidades• P(c) se estima como Nc

N , donde Nc es el número dedocumentos de la categoría c y N el número total dedocumentos en el conjunto de entrenamiento.

• P(t |c) se estima como Tc,t∑s∈V Tc,s

, la proporción de

ocurrencias de t en todos los documentos de la categoríac (respecto de todas las ocurrencias de todos los términosdel vocabulario)

• Además de las suposiciones de independencia sobre lasque está basado Naive Bayes, también asumimosindependencia respecto de la posición de los términosdentro del documento

• Para evitar que muchas de estas probabilidades sean 0,se aplica un suavizado de Laplace:

P(t |c) =Tc,t + 1

s∈V (Tc,s + 1)=

Tc,t + 1∑

s∈V Tc,s + |V |

Page 75: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Detección de SPAM con Naive Bayes

• Problema: Decidir si un correo electrónico es SPAM o no,basándonos en un conjunto previo de correos clasificadoscomo SPAM o como HAM

• En este caso el corpus está formado por los correoselectrónicos previamente clasificados

• Dado un correo nuevo, consideramos la variable aleatoriaY representando el hecho de que dicho correo sea SPAM

• Consideramos también un conjunto de variables aleatoriasXi asociadas a ciertas características del correoelectrónico (p.ej. aparición de ciertas palabras, remitente,mayúsculas..)

• Se asume que las variables Xi son independientes entre sí,condicionadas a la variable Y

• Es muy importante una buena selección de características

Page 76: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Detección de SPAM con Naive Bayes

• Según Naive Bayes, se clasifica el nuevo correo comoSPAM en función del valor de

ynb = argmaxy∈{spam.ham}

[log(P(Y = y)) +∑

1≤i≤n

log(P(X = xi |Y = y))]

• El corpus se utiliza para estimar las probabilidades:

P(Y = spam) =S

S + HP(Y = ham) =

HS + H

P(X = x |Y = spam) =Sx

SP(x |Y = ham) =

Hx

H

donde Sx es el número de correos SPAM del conjunto deentrenamiento que tiene la característica X = x y Hx es elnúmero de correos HAM del conjunto de entrenamientocon la característica X = x

• Estas estimaciones suelen suavizarse

Page 77: F. J. Martín Mateos J. L. Ruiz Reina - Dpto. Ciencias de ...

Introducción Gramáticas Modelos probabilísticos Contenido semántico

Bibliografía

• Russell, S. y Norvig, P. Artificial Intelligence (A ModernApproach) 3rd edition (Prentice–Hall Hispanoamericana,2010)

• Secciones 22.1, 22.2, 22.3, 23.1, 23.2 y 23.3

• Manning, C.D. y Schütze, H. Foundations of statisticalnatural language processing (MIT Press, 1999)

• Manning, C.D., Raghavan, P. y Schütze, H. Introduction toInformation Retrieval (Cambridge University Press, 2008)

• Secciones 6.2, 6.3, 13.1, 13.2, 14.3, 21.2 y 21.3