• No se han encontrado resultados

Procesamiento del lenguaje natural

N/A
N/A
Protected

Academic year: 2021

Share "Procesamiento del lenguaje natural"

Copied!
57
0
0

Texto completo

(1)

Procesamiento del lenguaje natural

Francisco J. Martín Mateos José L. Ruiz Reina

Dpto. Ciencias de la Computación e Inteligencia Artificial Universidad de Sevilla

(2)

Índice

Introducción

Modelos probabilísticos

(3)

Introducción

• ElProcesamiento del Lenguaje Naturales una disciplina de la Inteligencia Artificial que se ocupa de la formulación e investigación de mecanismos computacionales para la comunicación entre personas y máquinas mediante el uso deLenguajes Naturales

• LosLenguajes Naturalesson los utilizados en la comunicación humana, ya sean escritos, hablados o signados

(4)

Aplicaciones del Procesamiento del Lenguaje Natural

• Comprensión del lenguaje (contenido, significado,

relaciones,. . . )

• Recuperación de la información (buscadores en internet,

catálogos, . . . )

• Extracción de la información (estructurada o

semi-estructurada)

• Búsqueda de respuestas (preguntas planteadas en

lenguaje natural,. . . )

• Generación de discurso

• Traducción automática

• Reconstrucción de discurso (espacios en blanco,

traducción, texto predictivo,. . . )

• Reconocimiento del habla

• Síntesis de voz

(5)

Fases de la comunicación (

R&N

)

• Intención:Aquiere transmitir la ideaPaB

• Generación:AtransformaPen la fraseW1

• Síntesis:AenvíaW10 aB(dondeW10 es la realización física

deW1)

• Percepción:B percibeW100 como la realización físicaW10 y

lo decodifica como la fraseW2

• Análisis:Binfiere queW2puede tener como posibles

significadosP1, . . . ,Pn

• Resolución de ambigüedades:Bdecide quePi es el

significado más probable de entre los posibles

(6)

Análisis del lenguaje

La estructura del lenguaje se analiza a cuatro niveles

• Análisis morfológico: El análisis de las palabras para

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

• Análisis sintáctico. El análisis de la estructura sintáctica de

la frase mediante una gramática de la lengua en cuestión

• Análisis semántico. La extracción del significado (o

posibles significados) 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 los antecedentes referenciales de los pronombres

(7)

Análisis morfológico

• Estudia la estructura de las palabras individuales (sin

referencia al contexto) con objeto de identificar componentes y modificadores

• En idiomas como el español se distinguen:

• Raíz de la palabra: proporciona el significado de la palabra

• Modificadores: indican género, número, tiempo verbal, oposición, repetición, ...

• Componentes de derivación: generan una palabra a partir de otra (pueden cambiar la categoría sintáctica)

• En otros idiomas la estructura de una palabra puede ser

más compleja:

• Modificadores que incluyen información sintáctica: declinaciones

• Composición de varias raíces en una misma palabra con o sin información estructural

(8)

Análisis sintáctico

• Estudia la estructura de la frase agrupando palabras

según su funcionalidad

• Distintas formas de agrupación oconstituyentes

• Sintagmas nominales: un nombre con o sin determinante

• Sintagmas preposicionales: una preposición junto con un sintagma nominal

• Sintagmas verbales: un verbo que indica una acción, junto con otros sintagmas nominales o preposicionales que proporcionan información adicional que complementa dicha acción

• Formalismos para analizar la estructura de una frase:

• CFG: gramáticas independientes de contexto

• DCG: gramáticas de cláusulas definidas

(9)

Análisis semántico

• Estudia el significado de la frase completa a partir de el

significado de las palabras y la estructura sintáctica

• El problema fundamental con el que se enfrenta es la

ambigüedad en el significado de las palabras

• Una vez resuelto el problema de la ambigüedad, utiliza

lenguajes formales para representar el significado de la frase

(10)

Análisis pragmático

• Estudia el significado de un texto teniendo en cuenta la

situación de cada frase dentro del mismo

• El problema fundamental con el que se enfrenta es la

presencia de formas adverbiales o pronominales cuyo significado no está explícito en una frase, sino que depende del contexto

• Adverbios: ahora, ayer, entonces, allí, aquí

• Pronombres: éste, aquel, mío, tuyo, suyo

• Se extrae el significado de estos elementos a partir de

• Descripciones de la situación actual (quién habla, cuándo habla, dónde está)

(11)

Técnicas de análisis del lenguaje

• Las distintas fases y problemáticas del análisis del

lenguaje se afrontan principalmente con las siguientes técnicas

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

Técnicas probabilísticas: Se basan en el estudio en base a un conjunto de textos de referencia (corpus), de

características de tipo probabilístico asociadas a las distintas fases de análisis del lenguaje

• Modelos para el procesamiento del lenguaje natural

• Lógicos (gramáticas)

(12)

Modelos probabilísticos del lenguaje

• Unmodelo probabilístico del lenguajedefine una

distribución de probabilidad sobre un conjunto de

palabras, a partir del análisis de uncorpus

• Uncorpuses una colección grande de textos, escritos por y para humanos

• Es decir, cada frase (término, característica, . . . ) tiene asociada una probabilidad y estas probabilidades se

aprendena partir de uncorpuso se calculan a partir de las aprendidas

• Los distintos modelos probabilísticos del lenguaje se

caracterizarán por las propiedades de independencia asumidas, y la forma en la que se calcula la probabilidad de una frase

• Reflejan mejor la realidad del lenguaje y son más robustos

• Seaprendena partir de textos

(13)

Modelos

n-gram

: Introducción

• De manera general, dada una secuencia de palabras

w1...wn, su probabilidad calcula de la siguiente forma:

P(W1=w1, . . . ,Wn=wn) =

P(W =w1)P(Wt+1=w2|Wt =w1)· · ·P(Wt+n−1=wn|Wt=w1, . . . ,Wt+n−2=wn−1)

• Intuitivamente, eli-ésimo factor es la probabilidad de que

(en el lenguaje modelado) aparezca la palabrawi a

continuación de la secuenciaw1, . . . ,wi−1

• Estas probabilidades se aprenden a partir de uncorpus

• En la práctica es imposible saber la probabilidad de cada palabra condicionada a cada posible secuencia de palabras anteriores

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

(14)

Modelos

unigram

• Se asume independencia entre palabras consecutivas

P(W1=w1, . . . ,Wn=wn) =

Y

1≤i≤n

P(W =wi)

• Se utiliza aprendizaje ML para estimar las probabilidades

P(W =w) = N(w) N

DondeN(w)es el número de ocurrencias de la palabraw

en el corpus yN es el número total de palabras

(15)

Modelos

bigram

• Se asume dependencia entre una palabra y la anterior,

pero independencia con las demás

P(W1=w1, . . . ,Wn=wn) =P(W=w1) Y 1≤i<n P(Wt+1=wi+1|Wt =wi) • Utilizando aprendizaje ML P(Wt+1=w0|Wt =w) = N(w0w) N(w)

DondeN(w0w)es el número de ocurrencias de la

secuenciaw0w en el corpus

• Unbigramestá formado por dos palabras consecutivas en elcorpus

(16)

Modelos

trigram

• Se asume dependencia entre una palabra y las dos

anteriores, pero independencia con las demás

P(W1=w1, . . . ,Wn=wn) =

P(W =w1)P(Wt+1=w2|Wt=w1) Y

1≤i<n−1

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

• Untrigramestá formado por tres palabras consecutivas en elcorpus

(17)

Modelos

n-gram

• Modelon-gram: Generalización de los modelos anteriores

• Unn-gramestá formado pornpalabras consecutivas en el

corpus

• En estos modelos probabilísticos, salvo elunigram, se

tienen en cuenta relaciones contextuales léxicas, que no suelen aparecer en los modelos gramaticales

(18)

Generación de frases con modelos

n-gram

• Para ilustrar las capacidades de los modelos n-gram,

podemos generar frases aleatorias siguiendo un muestreo a partir de dichos modelos

• Experimento: a partir el libro de texto de Russel & Norvig,

“Artificial Intelligence: A Modern Approach”, construimos modelos unigram, bigram y trigram.

• Resultados generando secuencias de palabras en cada

uno de esos modelos:

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

• Bigram:systems are very similar computational approach would be represented ...

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

(19)

Suavizado en modelos

n-gram

• En un modelon-gram, la probabilidad de gran cantidad de

lasn-secuencias de palabras será nula

• El número total den-secuencias de palabras es muy superior al número den-secuencias que aparecen en el

corpus

• Esto hace que una secuencia de texto perfectamente

válida pueda tener probabilidad nula si alguna de sus

n-secuencias componentes nunca aparece en elcorpus

• 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 y compensar la suma total aumentando adecuadamente los denominadores (Ley de Laplace)

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

(20)

Suavizado en modelos

n-gram

: ley de Laplace

• Modelounigram suavizado:

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

DondeV1es el número total de palabras distintas en el

corpus

• Modelobigram suavizado:

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

N(wi wj) +1

N(wi) +V2

DondeV2es el número total debigramsdistintos en el

(21)

Suavizado en modelos

n-gram

: interpolación lineal

• Es probable que untrigram w1w2w3aparezca muy poco

en elcorpus, pero quew2w3ow3sean muy frecuentes

• En esta situación el modelotrigramproporciona una probabilidad muy baja a la secuenciaw1w2w3, pero los

modelosbigramyunigramno

• Una forma desuavizarel modelotrigramconsiste en

combinarlo con los modelosbigramyunigram:

P(Wt+2=w3|Wt =w1,Wt+1=w2) =

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

DondeP1es la probabilidad según el modelounigram,P2

es la probabilidad según el modelobigram,P3es la

probabilidad según el modelotrigramyλ1+λ2+λ3=1

• De forma general se puede suavizar un modelon-gram

combinándolo como modelos(n−1)-gram, ...,bigramy

(22)

Evaluación de modelos

n-gram

• ¿Cómo de bueno es el modelo probabilístico obtenido a

partir de un corpus?

• Usualmente, separamos el corpus en dos partes: una para

entrenamiento y otra para pruebas

• Una vez obtenido el modelo probabilístico a partir del

corpus de entrenamiento, lo evaluamos calculando las probabilidades que asigna a las cadenas de texto del corpus de prueba

• Para evitar probabilidades demasiado pequeñas, se usa lo

que se conoce comoperplejidad:

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

dondeN es el número de palabras de la frase

(23)

Una aplicación del modelo unigram: segmentación (I)

• Problema: Determinar las palabras de un texto en el que

no hay espacios en blanco

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

• Ejemplo:

• Supongamos el siguiente texto sin espacios en blanco

Esdifícilleerfrasessinespaciosenblanco • El objetivo es obtener la frase original con un cierto grado

de confianza en que así lo es

Es difícil leer frases sin espacios en blanco

• Este proceso se puede llevar a cabo fácilmente con un

(24)

Una aplicación del modelo unigram: segmentación (II)

• Consideremos un modelounigramde uncorpus

• Dado un texto sin espacios en blancow

• Una segmentación dew es una secuencia de palabras

l =wl

1· · ·wkll cuya concatenación es igual aw • Notaremos porLw al conjunto de todas las posibles

segmentaciones dew

• El objetivo consiste en encontrar la segmentaciónl ∈Lw

con mayor probabilidad

argmax l∈Lw P(l) =argmax l∈Lw Y 1≤i≤kl P(W =wil)

(25)

Algoritmo de segmentación

• Observaciones

• El modelounigramno 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 palabras

(26)

Una aplicación del modelo bigram: etiquetado

sintáctico

• Problema: Etiquetar cada palabra de un texto con la

categoría sintáctica que le corresponde

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

• Ejemplo:

• Supongamos el siguiente texto sin etiquetar

el hombre toma café con leche

• El objetivo es asignar a cada palabra una categoría sintáctica coherente con la estructura de la frase

el/LD hombre/NN toma/VIP café/NN con/E leche/NN

(27)

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 (etiqueta) de cada palabra, la distribución de probabilidad de esta variable nos la proporciona un modelo bigram del corpus

• La variable observable nos indica el valor de la palabra

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

(28)

Etiquetado sintáctico

• Consideremos un modelobigramde uncorpus

previamente etiquetado

• Dado un texto denpalabrasw =w1w2...wn

• Un etiquetado de este texto es una secuencia de etiquetas

t =t1t2...tnen la que cadati es la etiqueta asociada a la

palabrawi

• Notaremos porTnal conjunto de todas las sucesiones den

etiquetas

• El objetivo consiste en encontrar el etiquetadot ∈Tncon

mayor probabilidad argmax t∈Tn P(t|w) =argmax t∈Tn P(t,w)

(29)

Etiquetado sintáctico

• Cada probabilidad condicionadaP(tj|ti)se estima con la

frecuencia de ocurrencia de las dos etiquetas

consecutivas en elcorpus

P(tj|ti) =

N(ti tj)

N(ti)

• Cada probabilidad condicionadaP(wi|ti)se estima como

la frecuencia con que una palabra tiene una determinada

etiqueta en elcorpus

P(wi|ti) =

N(wi,ti)

(30)

Tratamiento semántico del

corpus

• En los ejemplos anteriores elcorpusse trata como una

unidad de la que se obtiene información léxica o sintáctica

• Un tratamiento semántico delcorpusnecesita que éste

esté formado por gran cantidad de documentos

• Ejemplos

Recuperación de información

Clasificación de documentos

(31)

Recuperación de la información

• Problema: Dada una colección de documentos, encontrar

aquellos más relevantes con respecto a una necesidad de información expresada por un usuario

• Se caracteriza por:

• Una colección dedocumentos(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)

(32)

El modelo de claves booleanas

• Cada palabra en la colección de documentos es una

variable booleana que es cierta en aquellos documentos en los que aparece y falsa en los que no aparece

• El lenguaje de consulta es el lenguaje de las expresiones

booleanas construidas sobre las características asociadas

a las palabras. Por ejemplo:pollo AND (tomate OR

frito)

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

verdadero

• Este modelo tiene la ventaja de que es muy simple y fácil

de implementar. Sin embargo tiene bastantes desventajas

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

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

(33)

El modelo de espacio vectorial

• Supondremos a partir de ahora que las consultas las

realiza el usuario mediante texto libre

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

• El modelo de espacio vectorial trata de medir la relevancia

de un documento respecto de una consulta a partir de las frecuencia con la que ocurre un término de la consulta en un documento

• Pero considerando menos relevantes aquellos términos que ocurren con mucha frecuencia en la mayor parte de los documentos

(34)

Representación vectorial de un documento (I)

• Definiciones:

• Lafrecuencia de un término(term frequency)t en un documentoD, notada comotft,D, es el número de veces

que aparece el término en el documento

• Lafrecuencia documental(documental frequency) de un términot, notadadft, es el número de documentos en los

que aparece el término

• Lafrecuencia documental inversa(inverse documental frequency) de un términot esidft =log(N/dft), dondeN

es el número total de documentos

• Elpesode un términot en un documentoDes

(35)

Representación vectorial de un documento (II)

• Unvocabularioes un conjunto de términos que

consideramos importantes en la colección de documentos,

V ={t1, . . . ,tm}

• En el modelo de espacio vectorial un documentoDse

representa como el vector de pesos de cada término del vocabulario

~

D= (d1, . . . ,dm)dondedi =tfidfti,D

• 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(~D, ~D0) = Pm i=1DiDi0 q Pm i=1(di)2 q Pm i=1(di0)2

(36)

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,

(37)

Ejemplo en el modelo de espacio de vectores

(

Grossman

)

• Las representaciones vectoriales deD1,D2yD3son,

respectivamente,D~1,D~2yD~3(las tres últimas columnas

de la tabla). El número de documentosNes 3.

Términot tft,D1 tft,D2 tft,D3 dft N/dft idft D~1 D~2 D~3 llegó 0 1 1 2 1.5 0.1761 0 0.1761 0.1761 dañado 1 0 0 1 3 0.4771 0.4771 0 0 entrega 0 1 0 1 3 0.4771 0 0.4771 0 fuego 1 0 0 1 3 0.4771 0.4771 0 0 oro 1 0 1 2 1.5 0.1761 0.1761 0 0.1761 plata 0 2 0 1 3 0.4771 0 0.9542 0 cargamento 1 0 1 2 1.5 0.1761 0.1761 0 0.1761 camión 0 1 1 2 1.5 0.1761 0 0.1761 0.1761 color 0 1 0 1 3 0.4771 0 0.4771 0

(38)

Proximidad entre documentos y consultas

• Consultas:

• Una consulta puede ser vista como un documento y tendrá, por tanto, un vectorQ~ asociado (la mayoría de sus

componentes serán cero)

• sim(D~, ~Q)dará una medida de lo relevante que es un documento respecto de la consulta (cuanto más cercano a uno, más relevante)

• Recuperación de información en el modelo vectorial:

transformar tanto la consulta como los documentos en vectores de pesos, calcular los cosenos y presentar

(ordenados de mayor a menor) losK mejores (los más

(39)

Una consulta en el ejemplo anterior

• La consulta “oro plata camión” en representación vectorial

esQ~ = (0,0,0,0,0,1761,0,4771,0,0,1761,0)

• Las distintas medidas de similitud son:

• sim(D~1, ~Q) =0,00801

• sim(D~2, ~Q) =0,7561

• sim(D~3, ~Q) =0,3272

(40)

Recuperación de la información en la práctica (I)

• 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 la

relevancia de un documento respecto de una consulta: proximidad entre términos

(41)

Recuperación de la información en la práctica (II)

• Evaluación de sistemas de recuperación de la información:

• Precisión: porcentaje de documentos devueltos como relevantes que realmente lo son

• Exhaustividad (recall): porcentaje de documentos

presentados como relevantes de entre todos los realmente relevantes

• Los sistema reales de recuperación de la información son

sistemas que acceden a una cantidad masiva de datos

• Es muy importante la eficiencia: índices

(42)

Enlaces entre documentos

• Hasta ahora, no hemos considerando los sistemas de

recuperación de la información en la web

• En ese caso, además de la similitud vectorial, es

importante también laestructura de enlaces, que influye en la relevancia del documento.

• Ejemplos:

• PageRankdeGoogle

(43)

PageRank

• La relevancia de una página web no puede estar basada

únicamente en sustf, debe tenerse en cuenta también el

número de enlaces que apuntan a la página:

• Pero no todos los enlaces deben “pesar” igual, sino que deben contar más aquellos enlaces desde páginas de mayor relevancia • Definición (recursiva): PR(p) = 1−d N +d X i PR(ini) C(ini)

• PR(p)es elPageRankde una páginap

• Nes el número total de páginas en el corpus

• ini son las páginas que tienen enlaces ap

• C(ini)es el número de total enlaces que salen desdeini

(44)

PageRank

• Modelo de navegación aleatoria:PR(p)es la probabilidad

de que una persona que navega por la red llegue en algún

momento a visitarp, supuesto que en cada página que

visita:

• Con probabilidadd, hace clic aleatoriamente en uno de sus enlaces

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

• El cálculo delPageRankde cada página se actualiza cada

varios meses

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

autovector

• En la actualidad, elPageRankno es de los factores más

influyentes en Google a la hora de ordenar páginas relevantes para una consulta, aunque sí que es uno de ellos.

(45)

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 fuente importante de información (y por tanto está enlazada desde muchas otras)

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

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

a(v) = X

y7→v

h(y) h(v) = X

v7→y

a(y)

• Definición mutuamente recursiva, cuya solución se tiene

(46)

Clasificación de documentos

• El problema de clasificar documentos:

• Dado un documentoDy un conjuntoCdecategorías

documentales (otemas), encontrar la clasec∈Ca la que perteneceD.

• 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 deaprendizaje: supondremos que

tenemos un conjunto entrenamiento (textos ya clasificados)

(47)

Clasificación de documentos en el modelo vectorial

con

kNN

• Para clasificar un documento dado, buscar losk

documentos del conjunto de entrenamiento más cercanos

y devolver la clase más frecuente en esosk documentos

• La cercanía la calculamos usando la medida de similitud

definida en el modelo vectorial

• Previamente, hay que elegir:

• El vocabulario: conjunto de términos cuyostfidf servirán para obtener la representación vectorial

(48)

Clasificación de documentos en el modelo vectorial

con

kNN

• Vocabulario:

• Debe ser un conjunto de términos cuya presencia o ausencia sea relevante para caracterizar la pertenencia a una clase.

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

• Elección dek:

• 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 enkNN: para cada clasec, sumar la similitud

(con el que se quiere clasificar) de cada documento de

esa clase que esté entre losk más cercanos. Devolver la

clase que obtenga mayor puntuación.

(49)

Clasificación con Naive Bayes Multinomial

• Dado el documentoDa clasificar devolvercnb como

clasificación deD, dondecnbse define:

cnb =argmax c∈C P(c|D) =argmax c∈C P(c) Y 1≤k≤m P(tk|c)ntk

• siendont el número de veces que el términoten el

documento

• Para evitar desbordamientos por números muy bajos, se

suele usar la siguiente versión, equivalente, con logaritmos: cnb =argmax c∈C  logP(c) + X 1≤k≤m ntklogP(tk|c)  

• Como ya sabemos, las probabilidades se obtienen como

(50)

Estimación ML de las probabilidades

• P(c)se estima como Nc

N, dondeNc es el número de

documentos de la categoríacyN el número total de

documentos en el conjunto de entrenamiento.

• P(t|c)se estima como Tc,t

P

s∈VTc,s, la proporción de

ocurrencias det en todos los documentos de la categoría

c (respecto de todas las ocurrencias de todos los términos

del vocabulario)

• Para evitar que muchas de estas probabilidades sean 0,

se aplica unsuavizado de Laplace:

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

s∈V(Tc,s+1)

= P Tc,t +1

(51)

Naive Bayes Multinomial para clasificación de texto

C las clases, D el conjunto de entrenamiento y

d el documento a clasificar

EntrenaNB(C,D)

1. V ← vocabulario que se extrae de D, 2. N ← número de documentos de D

3. Para cada clase c en C, hacer:

3.1 Nc ← el número de documentos en la clase c, 3.2 prior[c] ← Nc/N,

3.3 Textoc ← concatenación de los documentos de la clase c

3.4 Para cada término t en V, hacer:

3.4.1 T(c,t) ← número de ocurrencias de t en Textoc 3.5 Tc ← la suma de todos los T(c,t),

3.6 Para cada término t en V, hacer:

3.6.1 condprob[c,t] ← (T(c,t) + 1)/(Tc + |V|) 4. Devolver V, prior y condprob

ClasificaNB(C,V, prior, condprob, d) 1. Para cada clase c en C, hacer:

1.1 score[c]log(prior[c])

1.2 Para cada término t en V, hacer:

1.2.1 nt ← número de veces que aparace t en d

1.2.2 incrementar score[c] con nt · log(condprob[c,t]) 2. Devolver la clase c para la que score[c] sea máximo

(52)

Un ejemplo con Naive Bayes Multinomial

(Manning, Raghavan & Schütze, ejemplo 13.1)Supongamos un problema de clasificación de documentos en el que el vocabulario considerado es {Chino, Pekín, Shanghai, Macao, Tokyo, Japón}. Existen dos categorías posibles: la de los

documentos que hablan de China (ch), y la de los que hablan

de Japón (j). Como conjunto de entrenamiento contamos con

los siguientes documentos:

• D1: “Chino Pekín Chino”, categoríach.

• D2: “Chino Chino Shanghai”, categoríach.

• D3: “Chino Macao”, categoríach.

• D4: “Tokyo Japón Chino”, categoríaj.

¿Cómo clasificaría el método Naive Bayes Multinomial (con

estimación suavizada) el nuevo documentoD5“Chino Chino

(53)

Un ejemplo con Naive Bayes Multinomial

• Estimación de las probabilidades (a priori) de cada clase:

P(ch) = 3

4 P(j) =

1 4

• Estimación de las probabilidades de cada palabra (sólo

mostramos las que necesitamos para clasificar el documento): P(Chino|c) = 5+1 8+6 = 3 7 P(Chino|j) = 1+1 3+6 = 2 9 P(Tokyo|c) = 0+1 8+6 = 1 14 P(Tokyo|j) = 1+1 3+6 = 2 9 P(Japon|c) = 0+1 8+6 = 1 14 P(Japon|j) = 1+1 3+6 = 2 9

(54)

Un ejemplo con Naive Bayes Multinomial

Clasificamos el documentoD5(en este caso no usamos

logaritmos):

• CategoríachparaD5: 34·(73)3·141 ·141 =0,0003

• CategoríajparaD5:14 ·(92)3·29·29 =0,0001

Luego el método Naive Bayes multinomial clasifica el

documentoD5como de la categoría de los que hablan de

(55)

Detección de SPAM con Naive Bayes clásico

• Problema: Decidir si un correo electrónico es SPAM o no,

basándonos en un conjunto previo de correos clasificados como SPAM o como HAM

• En este caso elcorpusestá formado por los correos electrónicos previamente clasificados

• Dado un correo nuevo, consideramos la variable aleatoria

Y representando el hecho de que dicho correo sea SPAM

• Consideramos también un conjunto denvariables

aleatorias,Xi, asociadas a ciertas características del

correo electrónico (p.ej. aparición de ciertas palabras, remitente, mayúsculas..)

• Se asume que las variablesXi son independientes entre sí,

condicionadas a la variableY

• En este caso aplicaremos Naive Bayes “clásico”, visto en el primer cuatrimestre (es decir, no basado en contar

ocurrencias, como es el caso del multinomial)

(56)

Detección de SPAM con Naive Bayes

• Según Naive Bayes, se clasifica el nuevo correo como

SPAM en función del valor de

ynb= argmax y∈{spam,ham}

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

1≤i≤n

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

• Elcorpusse utiliza para estimar las probabilidades:

P(Y =spam) = S S+H P(Y=ham) = H S+H P(X=x|Y=spam) = Sx S P(x|Y=ham) = Hx H

dondeSx es el número de correos SPAM del conjunto de

entrenamiento que tiene la característicaX =x yHx es el

número de correos HAM del conjunto de entrenamiento

con la característicaX =x

(57)

Bibliografía

• Russell, S. y Norvig, P.Artificial Intelligence (A Modern

Approach) 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 statistical

natural language processing(MIT Press, 1999)

• Manning, C.D., Raghavan, P. y Schütze, H.Introduction to

Information Retrieval(Cambridge University Press, 2008)

Referencias

Documento similar