El retroceso de Katz es un modelo de lenguaje generativo de n -gramas que estima la probabilidad condicional de una palabra dada su historia en el n -grama. Lleva a cabo esta estimación retrocediendo a través de modelos históricos progresivamente más cortos bajo ciertas condiciones. [1] Al hacerlo, se utiliza el modelo con la información más confiable sobre un historial dado para proporcionar mejores resultados.
El modelo fue introducido en 1987 por Slava M. Katz. Antes de eso, se construyeron modelos de lenguaje de n-gramas entrenando modelos individuales para diferentes órdenes de n-gramas usando la estimación de máxima verosimilitud y luego interpolando juntos.
El método
La ecuación para el modelo de retroceso de Katz es: [2]
dónde
- C ( x ) = número de veces que x aparece en el entrenamiento
- w i = i ésima palabra en el contexto dado
Esencialmente, esto significa que si el n -grama se ha visto más de k veces en el entrenamiento, la probabilidad condicional de una palabra dada su historia es proporcional a la estimación de máxima verosimilitud de ese n -grama. De lo contrario, la probabilidad condicional es igual a la probabilidad condicional de retroceso del ( n - 1) -grama.
La parte más difícil es la determinación de los valores de k , d y α .
es el menos importante de los parámetros. Por lo general, se elige que sea 0. Sin embargo, las pruebas empíricas pueden encontrar mejores valores para k.
es típicamente la cantidad de descuento encontrada por la estimación de Good-Turing . En otras palabras, si Good-Turing estima como , luego
Computar , es útil definir primero una cantidad β, que es la masa de probabilidad restante para el ( n - 1) -grama:
Luego, el peso de retroceso, α, se calcula de la siguiente manera:
La fórmula anterior solo se aplica si hay datos para el "( n - 1) -grama". De lo contrario, el algoritmo omite n-1 por completo y utiliza la estimación de Katz para n-2. (y así sucesivamente hasta que se encuentre un n-grama con datos)
Discusión
Este modelo generalmente funciona bien en la práctica, pero falla en algunas circunstancias. Por ejemplo, suponga que el bigrama "a b" y el unigrama "c" son muy comunes, pero el trigrama "ab c" nunca se ve. Dado que "a b" y "c" son muy comunes, puede ser significativo (es decir, no debido al azar) que "ab c" nunca se vea. Quizás no esté permitido por las reglas de la gramática. En lugar de asignar un valor más apropiado de 0, el método retrocederá al bigrama y estimará P ( c | b ), que puede ser demasiado alto. [3]
Referencias
- ^ "Modelos de N-gram" (PDF) . Cornell.
- ^ Katz, SM (1987). Estimación de probabilidades a partir de datos escasos para el componente del modelo de lenguaje de un reconocedor de voz. Transacciones IEEE sobre acústica, habla y procesamiento de señales, 35 (3), 400–401.
- ^ Manning y Schütze, Fundamentos del procesamiento estadístico del lenguaje natural, MIT Press (1999), ISBN 978-0-262-13360-9 .