Um modelo de idioma é aquele em que recebe uma frase de entrada, o modelo gera uma probabilidade de quão correta essa sentença é. Isso é amplamente utilizado no reconhecimento de fala, geração de sentenças e sistemas de tradução de máquina, onde gera as frases que são prováveis.
Etapas para construir um modelo de idioma:
Na etapa de T, o RNN está estimando p (y | y <1>, y <2>,…, y <t -1>). O conjunto de treinamento é formado de uma maneira em que x <2> = y <1> e x <3> = y <2> e assim por diante. Em resumo, a frase de saída fica atrás da frase de entrada em uma etapa de tempo. O algoritmo de otimização seguido é sempre descida de gradiente estocástica (uma sequência por vez).
Para obter probabilidade de uma sequência aleatória, quebre a distribuição de probabilidade da junta P (Y1, Y2, Y3, ...) como um produto de condicionais, P (Y1) * P (Y2 | Y1) * P (Y3 | Y1, Y2).
Nota : No modelo de linguagem de baunilha, conforme descrito acima, o Word é um bloco básico de construção. No modelo de linguagem de nível de caractere, a unidade básica/ nível mais baixo é um personagem, o que torna a construção de um dicionário muito fácil (número finito de caracteres)
Depois que o modelo é treinado, podemos provar novos textos (caracteres). O processo de geração é explicado abaixo:
Passos:
Alguns dos nomes gerados:
Se você observar com cuidado, nosso modelo aprendeu a capturar saurus , don , aura , tor no final de cada nome de dinossauro TODO : Use LSTM no local dos RNNs com a ajuda de Keras
Coloque os dados de treinamento (nomes de dinossauros) no local de dinos.txt . Run main.py , que segue 3 etapas:
Para gerar os nomes para fora da caixa, execute python main.py