Suavizado de n-gramas

Suavizado de n-gramas

Contenido

Introducción

Un problema bastante frecuente en procesamiento del lenguaje natural es el cálculo de la verosimilitud (probabilidad) de una secuencia de palabras, por ejemplo para puntuar diversas hipótesis alternativas y seleccionar la más probable.

Supongamos que un sistema de reconocimiento de voz identifica una frase y sugiere, debido a su parecido fonético, dos posibles textos alternativos:

  • Texto A: "sax and violins on TV"
  • Texto B: "sex and violence on TV"

A primera vista parece que el texto B es más probable que el A, sin embargo, un sistema automático carece de tal sentido común y deberá basarse en un modelo de lenguaje determinado para evaluar cuál de las dos secuencias de palabras tiene mayor puntuación. Para el cálculo de la probabilidad de la observación (la frase en cuestión) se emplea habitualmente un modelo de k-gramas y es bastante frecuente que determinados k-gramas tengan probabilidad 0, es decir, que no aparecen en el texto.

Con las técnicas de suavizado intentamos evitar las probabilidades cero producidas por k-gramas no vistos.

Son varios los algoritmos de suavizado que se conocen. A continuación se describen algunos de los más utilizados.

Aproximación o descuento de Laplace

El descuento de Laplace asume que todos los k-gramas se han visto al menos una vez. Por tanto, para evitar probabilidades cero para trigramas no vistos el cálculo quedaría así:

\hat{p}(v|v_1,v_2)=\frac{1 + n(v_1 v_2 v)}{ \displaystyle\sum_{v' \in V}{1+ n(v_1 v_2 v')}}

El problema fundamental de esta solución es que da demasiado porcentaje de la masa total de probabilidad a los k-gramas no vistos.

Algoritmos de interpolación lineal

Deleted interpolation

En general:

p(w|h) = \lambda \frac{N(hw)}{\displaystyle\sum_{w'}{hw'}} + (1-\lambda) \beta(w|\hat{h})

  • h es la historia detallada (w1w2w)
  • β es la probabilidad más robusta
  • \hat{h} es la historia simplificada (w2w)


Para el caso concreto de trigramas:


p(v|v_{1}v_{2})  = \lambda_3(v_{1},v_{2}) \frac{n(v_{1}v_{2}v)}{\displaystyle\sum_{V'}{n(v_{1}v_{2}v')}} + (1-\lambda_3(v_{1},v_{2})) \hat{p}(v|v_{2})


\hat{p}(v|v_{2}) = \lambda_2(v_{2}) \frac{n(v_{2}v)}{\displaystyle\sum_{V'}{n(v_{2}v')}} + (1- \lambda_2(v_{2})) \hat{p}(v)


\hat{p}(v)  = \lambda_1 \frac{n(v)}{N} + (1 - \lambda) \frac{1}{|V|}

| V | es el tamaño del vocabulario.

Interpolación aproximada


\hat{p}(v|v_{1}v_{2})= \frac{N(v_{1}v_{2})^{\frac{1}{2}}}{1+N(v_{1}v_{2})^{\frac{1}{2}}} \frac{N(v_{1}v_{2}v)}{\displaystyle\sum_{V'}{N(v_{1}v_{2}v')}} + \left(1 - \frac{N(v_{1}v_{2})^{\frac{1}{2}}}{1+N(v_{1}v_{2})^{\frac{1}{2}}} \right) \hat{p}(v_{1}v_{2})


\hat{p}(v|v_{2}) = \frac{N(v_{2})^{\frac{1}{2}}}{1+N(v_{2})^{\frac{1}{2}}} \frac{N(v_{2}v)}{\displaystyle\sum_{V'}{N(v_{2}v')}} + \left(1-\frac{N(v_{2})^{\frac{1}{2}}}{1+N(v_{2})^{\frac{1}{2}}} \right) \hat{p}(v)

Técnicas de back-off

Si N(hw) > 0


p(w|h)= \lambda \frac{N(hw)}{\displaystyle\sum_{w'}{N(hw')}}

Si N(hw) = 0


(1-\lambda) \frac{\beta(w|\hat{h})}{\displaystyle\sum_{w':N(hw')=0}{\beta(w'|\hat{h})}}


La diferencia fundamental entre los modelos de backoff y de interpolación es que en el caso de probabilidades no nulas, los modelos de interpolación usan información de k-gramas de orden inferior mientras que mediante técnicas de backoff no ocurre así.

Otras técnicas de suavizado

  • Add-delta (Lidstone’s & Jeffreys-Perks’ Laws)
  • Descuento de Good-Turing
  • Descuento de Witten-Bell

Referencias

  • Brants, Thorsten; Samuelsson, Christer (1995). «Tagging the Teleman Corpus». Proceedings of the 10th Nordic Conference of Computational Linguistics. Helsinki, Finland. http://citeseer.ist.psu.edu/brants95tagging.html. 
  • Martin, S.; Hamacher, C.; Liermann, J.; Wessel, F.; Ney, H. (1999). «Assessment of smoothing methods and complex stochastic language modeling». 6th European Conference on Speech Communication and Technology, Budapest, Hungary. 

Véase también

Enlaces externos

  • Good-Turing en la versión en inglés de la Wikipedia.

Wikimedia foundation. 2010.

Игры ⚽ Поможем написать курсовую

Mira otros diccionarios:

  • N-grama — Un n grama es una subsecuencia de n elementos de una secuencia dada. Los n gramas se emplean en varias áreas del procesamiento estadístico del lenguaje natural, así como en algunos métodos de predicción o descubrimiento de genes. Un n grama de… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”