Un modelo de idioma es el que se le da una oración de entrada, el modelo genera una probabilidad de cuán correcta es esa oración. Esto se usa ampliamente en el reconocimiento de voz, la generación de oraciones y los sistemas de traducción automática, donde genera las oraciones que sean probables.
Pasos para construir un modelo de idioma:
En el paso de tiempo T, RNN está estimando p (y | y <1>, y <2>, ..., y <t - 1>). El conjunto de entrenamiento se forma de una manera donde x <2> = y <1> y x <3> = y <2> y así sucesivamente. En resumen, la oración de salida se queda atrás de la oración de entrada en un paso de tiempo. El algoritmo de optimización seguido es siempre un descenso de gradiente estocástico (una secuencia a la vez).
Para obtener la probabilidad de una secuencia aleatoria, descomponga la distribución de probabilidad conjunta P (Y1, Y2, Y3, ...) como producto de condicionales, p (y1) * p (y2 | y1) * p (y3 | y1, y2).
Nota : En el modelo de lenguaje de vainilla como se describe anteriormente, Word es un bloque básico de construcción. En el modelo de lenguaje de nivel de caracteres, la unidad básica/ nivel más bajo es un personaje, lo que hace que construir un diccionario sea muy fácil (número finito de caracteres)
Una vez que el modelo está entrenado, podemos probar el nuevo texto (caracteres). El proceso de generación se explica a continuación:
Pasos:
Algunos de los nombres generados:
Si observa con cuidado, nuestro modelo ha aprendido a capturar saurus , don , aura , tor al final de cada nombre de dinosaurio TODO : Use LSTM en el lugar de RNN con la ayuda de Keras
Coloque los datos de entrenamiento (nombres de dinosaurios) en el lugar de dinos.txt . Ejecute main.py , que sigue 3 pasos:
Para generar los nombres fuera de la caja, ejecute python main.py