Return to Video

Kneser-Ney Smoothing (8:59)

  • 0:00 - 0:03
    Hablemos acerca de Kneser-Ney Smoothing,
  • 0:03 - 0:05
    una de las formas más sofisticadas de suavizado,
  • 0:05 - 0:08
    pero también una con una intuición hermosa y elegante.
  • 0:10 - 0:14
    Recordemos que en Good-Turing, hablamos acerca de las C estrella,
  • 0:14 - 0:17
    que descontaban los conteos que resultaban de Good-Turing,
  • 0:17 - 0:22
    y descontabamos cada uno de los conteos ---
  • 0:22 - 0:24
    el conteo de uno fue descontado a .4
  • 0:24 - 0:28
    y el conteo de dos, descontado a 1.26 y así ---
  • 0:28 - 0:33
    para guardar masa para reemplazar el conteo de cero con algún número bajo.
  • 0:33 - 0:39
    Y si observamos los valores de estos conteos, 8.25 para el nueve y 7.24 para el ocho,
  • 0:39 - 0:42
    veremos que en una gran cantidad de casos,
  • 0:42 - 0:48
    el conteo descontado tiene una relación estrecha con el conteo original.
  • 0:48 - 0:53
    Es en realidad el conteo original menos .75, o algo por el estilo.
  • 0:53 - 1:01
    Entonces, en la práctica, lo que en general hace Good-Turing es producir una cantidad fija de pequeños descuentos de los conteos.
  • 1:01 - 1:07
    Y esa intuición, de un pequeño descuento fijo, puede aplicarse directamente.
  • 1:07 - 1:13
    Cuando hacemos esto, lo llamamos descuento absoluto, y el descuento absoluto es una forma popular de suavizado.
  • 1:13 - 1:18
    Y aquí mostramos interpolación con descuento absoluto.
  • 1:18 - 1:22
    Y otra vez, la intuición es eso: Ahorraremos tiempo y computaremos todos esos complicados números del Good-Turing
  • 1:22 - 1:27
    y solamente restaremos .75, o quizás será un descuento diferente para distintos corpus.
  • 1:27 - 1:30
    Ahora, aquí tenemos la ecuación para el descuento absoluto.
  • 1:30 - 1:32
    Entonces, hacemos bigramas de vuelta.
  • 1:32 - 1:37
    Entonces la probabilidad, con descuento absoluto, de una palabra dada la palabra anterior,
  • 1:37 - 1:44
    será un bigrama descontado, interpolado con algún peso de la interpolación, con la probabilidad del unigrama.
  • 1:44 - 1:48
    Entonces tenemos la probabilidad del unigrama P(w), y luego la probabilidad del bigrama,
  • 1:48 - 1:53
    y solamente restamos un valor fijo, como .75, del conteo.
  • 1:53 - 1:57
    Y computamos la probabilidad del bigrama de la forma normal.
  • 1:57 - 2:00
    Entonces, tenemos la probabilidad descontada del bigrama, mezclada con algún peso,
  • 2:00 - 2:03
    del cual hablaré mas tarde acerca de como ajustar éste peso, con un unigrama.
  • 2:03 - 2:08
    Y quizás mantendremos un par de valores extra de D para los conteos de uno y dos.
  • 2:08 - 2:13
    Conteos de uno y dos, como vimos anteriormente, no restaban exactamente .75,
  • 2:13 - 2:16
    entonces podemos modelar mas cuidadosamente teniendo conteos separados para ellos.
  • 2:17 - 2:23
    Pero el problema con el descuento absoluto es la probabilidad del unigrama por sí misma.
  • 2:23 - 2:26
    Y quiero hablar acerca de cambiar la probabilidad del unigrama.
  • 2:26 - 2:28
    Y esa es la intuición fundamental de Kneser-Ney.
  • 2:28 - 2:35
    Entonces en Kneser-Ney smoothing, la idea es mantener la misma interpolación que vimos en descuento absoluto,
  • 2:35 - 2:39
    pero usar una mejor estimación de las probabildades de los unigramas de menor orden.
  • 2:39 - 2:43
    Y la intuición para eso, podemos volver y mirar los clásicos juegos de Shannon.
  • 2:43 - 2:46
    Recuerden, en el juego de Shannon, estamos prediciendo una palabra en base a las anteriores,
  • 2:46 - 2:50
    entonces vemos una oración, "No puedo ver sin mis _ "
  • 2:50 - 2:51
    Cual es la palabra más probable?
  • 2:51 - 2:53
    Bueno, "lentes" parece bastante probable.
  • 2:53 - 2:56
    Bueno, que tal la palabra "Francisco"?
  • 2:56 - 2:59
    Bueno, parece bastante improbable en esta situación.
  • 2:59 - 3:05
    Sin embargo "Francisco", como unigrama, es más común que "lentes".
  • 3:05 - 3:11
    Pero la razón de porque "Francisco" parece una mala elección,
  • 3:11 - 3:16
    una intuición que podemos tener es que "Francisco" siempre le sigue a "San" o casi siempre le sigue a "San"
  • 3:16 - 3:22
    Entonces por más que "Francisco" sea muy frecuente, es frecuente en el contexto de la palabra "San".
  • 3:22 - 3:26
    Ahora, los unigramas en un modelo de interpolación, donde mezclamos unigramas y bigramas,
  • 3:26 - 3:31
    son especialmente útiles --- ayudan mucho --- sólo en el caso en el cual no vimos un bigrama.
  • 3:31 - 3:37
    Entonces es desafortunado que sólo en el caso en donde no vimos el bigrama "leyendo Francisco",
  • 3:37 - 3:41
    estamos confiando en el peso del unigrama "Francisco" y es justo donde no deberiamos confiar.
  • 3:41 - 3:46
    Entonces en vez de usar la probabildad de w, "que tan probable es una palabra"
  • 3:46 - 3:49
    nuestra intuición será que cuando volvamos a algo,
  • 3:49 - 3:52
    usaremos la probabilidad de continuación
  • 3:52 - 3:54
    La llamaremos "P continuación" de una palabra
  • 3:54 - 3:57
    que tan probable es que la palabra aparezca como una nueva continuación
  • 3:57 - 3:59
    Bueno, como medimos una continuación nueva?
  • 3:59 - 4:04
    Bueno, por cada palabra, contaremos el número de tipos de bigrama que complete.
  • 4:04 - 4:09
    Cuantos tipos diferentes de bigramas se crean al aparecer después de otra palabra.
  • 4:09 - 4:14
    En otras palabras, cada tipo de bigrama es una continuación nueva cada vez que vemos éste nuevo bigrama
  • 4:14 - 4:21
    En otras palabras, la probabilidad de continuación será proporcional a la cardinalidad de éste conjunto,
  • 4:21 - 4:28
    la cantidad de palabras que preceden otras, I - 1, que ocurren con nuestra palabra.
  • 4:28 - 4:33
    Entonces, que cantidad de palabras ocurren antes de ésta palabra en un bigrama.
  • 4:33 - 4:35
    Cuantas palabras precedentes hay.
  • 4:35 - 4:42
    Eso será la cardinalidad de ese conjunto, que será un número que querríamos que nuestra probabilidad de continuación le sea proporcional.
  • 4:42 - 4:46
    Cuantas veces aparece W como una nueva continuación?
  • 4:46 - 4:47
    Necesitamos transformar eso en una probabilidad
  • 4:47 - 4:51
    Entonces solo dividimos por la cantidad total de tipos de bigramas.
  • 4:51 - 4:59
    Entonces, de todos los bigramas que ocurren mas de cero veces, cual es la cardinalidad del conjunto?
  • 4:59 - 5:01
    Cuantas tipos de bigramas diferentes hay,
  • 5:01 - 5:06
    y solamente vamos a dividir los dos para obtener una probabilidad de continuación,
  • 5:06 - 5:11
    de todos los tipos de bigramas, cuantos de esos tiene a W como una continuación nueva?.
  • 5:11 - 5:17
    Ahora, resulta que hay una metáfora alternativa para Kneser-Ney con las mismas ecuaciones
  • 5:17 - 5:24
    entonces, otra vez podemos ver el numerador como el número total de tipos de palabra que preceden a W,
  • 5:24 - 5:30
    cuantos tipos de palabra puede ser continuados por W, y vamos a normalizarlo por la cantidad de palabras que pueden preceder a todas las palabras
  • 5:30 - 5:37
    Entonces, la suma sobre todas las palabras de la cantidad de tipos de palabra que preceden a la palabra en sí.
  • 5:37 - 5:40
    Y las dos opciones son similares:
  • 5:40 - 5:45
    Éste denominador y el denominador que vimos anteriormente son el mismo
  • 5:45 - 5:54
    porque la cantidad de posibles tipos de bigramas es el mismo que la cantidad de tipos de palabra que pueden proceder todas las palabras, sumado sobre todas las palabras
  • 5:54 - 5:56
    Si piensan acerca de ésto por un segundo, se darán cuenta que es verdad.
  • 5:56 - 6:00
    Entonces en otras palabras, con este tipo de modelo Kneser-Ney,
  • 6:00 - 6:08
    una palabra frecuente como "Francisco" que ocurre solo en un contexto como "San", tendrá una probabilidad de continuación baja.
  • 6:08 - 6:16
    Entonces si juntamos la intuición del descuento absoluto con la probabilidad de Kneser-Ney para los n-gramas de bajo orden,
  • 6:16 - 6:19
    tendremos el algoritmo de suavizado de Kneser-Ney.
  • 6:19 - 6:25
    Entonces, para el bigrama en sí, tenemos descuento absoluto ---
  • 6:25 - 6:28
    Tomamos el conteo de bigramas, le restamos algún descuento D,
  • 6:28 - 6:31
    y mostré aquí que tomamos el máximo entre eso y cero
  • 6:31 - 6:36
    porque, obviamente, si el descuento resulta ser mayor que la probabilidad, no queremos una probabilidad negativa.
  • 6:36 - 6:40
    Y solo interpolaremos con ésta misma probabilidad de continuación que vimos recientemente,
  • 6:40 - 6:44
    P continuación de W_i
  • 6:44 - 6:47
    Y, el lambda, ahora hablaremos de como computar ese lambda.
  • 6:47 - 6:54
    El lambda tomará toda la masa de probablidad de todos los descuentos normalizados
  • 6:54 - 6:56
    que tomamos de éstas probablidades de alto orden,
  • 6:56 - 7:03
    y usarlas para ponderar cuanta probabilidad deberíamos asignar al unigrama
  • 7:03 - 7:06
    y combinaremos eso.
  • 7:06 - 7:14
    Entonces ese lambda es la cantidad del descuento dividido por el denominador.
  • 7:14 - 7:16
    Entonces, es el descuento normalizado.
  • 7:16 - 7:23
    Y luego, multiplicaremos eso por el total de cantidad de tipos de palabra que pueden seguirle a éste contexto, W_i menos uno.
  • 7:23 - 7:27
    En otras palabras, cuantos tipos de palabra diferentes descontamos
  • 7:27 - 7:30
    o cuantas veces aplicamos este descuento normalizado
  • 7:30 - 7:32
    Y multiplicamos esos.
  • 7:32 - 7:37
    Y sabemos cuanta masa de probabilidad total podemos asignarle a la continuación de la palabra.
  • 7:37 - 7:41
    Ahora, esta es la formulación de bigramas para Kneser-Ney.
  • 7:41 - 7:46
    Ahora aquí estamos mostrando la forma general recursiva para n-gramas en general,
  • 7:46 - 7:51
    y aquí tendremos que hacer un pequeño cambio para manejar todos los n-gramas de alto orden.
  • 7:51 - 7:56
    Entonces aquí solo mostramos la probabilidad de Kneser-Ney de una palabra dado el prefijo de la palabra.
  • 7:56 - 7:58
    Y, asi como vimos anteriormente,
  • 7:58 - 8:07
    estamos interpolando un n-grama de alto orden que es descontado con un peso lambda y una probablidad de bajo orden.
  • 8:07 - 8:15
    Pero ahora tendremos que distinguir entre la primer vez que usamos un conteo y estos conteos de bajo orden.
  • 8:15 - 8:20
    Entonces vamos a usar el conteo original para el bigrama de más alto orden,
  • 8:20 - 8:26
    y usaremos el valor de continuación que definimos anteriormente para todas las probabilidades de bajo orden
  • 8:26 - 8:33
    Entonces definiremos esta nueva función: conteo de Kneser-Ney de estrella
  • 8:33 - 8:36
    Este será el conteo original, digamos que estamos haciendo trigramas
  • 8:36 - 8:42
    Para el trigrama, y luego cuando hagamos la recurrencia y tengamos la probabilidad de Kneser-Ney para las cosas de bajo orden.
  • 8:42 - 8:45
    Cuando lleguemos a los bigramas y unigramas, estaremos usando el conteo de continuación,
  • 8:45 - 8:49
    y ese, otra vez, es el contexto para una única palabra que definimos antes.
  • 8:49 - 8:52
    Entonces Kneser-Ney smoothing, un algoritmo excelente.
  • 8:52 - 8:55
    Es comunmente usado en reconocimiento del habla y traducción automática
  • 8:55 - 8:59
    y aún así tiene una elegante y hermosa intuición y espero que lo aprecien.
Title:
Kneser-Ney Smoothing (8:59)
Video Language:
English
Nicolás Varaschin edited Spanish subtitles for Kneser-Ney Smoothing (8:59)
Nicolás Varaschin added a translation

Spanish subtitles

Revisions