¿Cómo y por qué funciona la estimación de contraste de ruido?

NCE generalmente se explica en términos de funciones matemáticas, que supongo que ha leído y no ha entendido. Aquí hay una explicación en términos de estrategias de búsqueda que podría dejar en claro.

Está diseñando un corrector gramatical que marca posibles palabras incorrectas en un documento. Ha creado un algoritmo gramatical que tiene muchos miles de parámetros: listas de las partes del discurso a las que se asigna cada palabra, reglas para combinar palabras, etc. Desea establecer esos parámetros para obtener la mejor predicción de si una palabra específica en una oración es un error.

Lo que te gustaría hacer en teoría es construir un conjunto de entrenamiento que contenga todas las combinaciones posibles de palabras en inglés con un indicador de 1 para la declaración correcta y 0 en caso contrario. Usaría esto para entrenar su algoritmo gramatical. Pero esto obviamente no es práctico.

En su lugar, crea una base de datos de texto de referencia en inglés. Extrae una lista de palabras de ese texto y crea una lista de palabras. Luego toma cada oración de referencia y crea 100 copias reemplazando la primera palabra con una palabra aleatoria, otras 100 reemplazando la segunda palabra con una palabra aleatoria y así sucesivamente (desafortunadamente, algunas de estas oraciones aleatorias serán válidas, pero espera que no tantas que confunde su algoritmo gramatical). Luego entrena su algoritmo gramatical en este conjunto, enseñándole a distinguir oraciones genuinas del texto de referencia de oraciones con palabras simples reemplazadas. Esto es “ruido contrastante” porque está entrenando su algoritmo gramatical para distinguir oraciones originales de oraciones con ruido agregado deliberadamente en forma de palabras reemplazadas al azar.

Esto probablemente no funcionaría como un corrector gramatical, porque no hay razón para pensar que detectaría errores que involucran varias palabras. Pero si hay un error de ortografía que resulta en una palabra en inglés válida pero incorrecta, o si la función de autocorrección ha insertado una palabra válida pero incorrecta, o si el autor ha confundido palabras con ortografía o pronunciación similar, su programa tiene una buena probabilidad de atraparlo, porque estos fueron los tipos de errores en los que fue entrenado.

Ahora pensemos en los problemas que resolvimos con NCE. Podríamos tomar fácilmente una sola palabra, siempre que no fuera demasiado común, encontrar todas las oraciones en las que aparece en nuestro conjunto de datos de referencia y verificar si alguna de ellas coincide con la oración en el documento que estamos verificando. Pero lo que no podemos hacer fácilmente es buscar todas las oraciones que sean iguales, excepto la palabra que estamos revisando. Por lo tanto, si el contexto de la oración, es decir, la oración con la palabra de referencia eliminada, es poco común, es probable que rechacemos la palabra, pero si el contexto es común, es más probable que la aceptemos. Una ventaja del enfoque NCE es que resuelve ese problema de normalización.

El segundo problema se resuelve en combinación con el algoritmo gramatical. Podemos saber que una oración es correcta a pesar de que no hay ejemplos en nuestro conjunto de datos. Por ejemplo, podemos tener muchas oraciones similares con muchos sustantivos diferentes en el lugar, y podemos saber de otras oraciones que dondequiera que se encuentren ciertos sustantivos, se puede usar esta palabra de referencia en particular. Entonces, NCE nos permitió entrenar un algoritmo más inteligente que solo mirar las frecuencias observadas.