Modelos de Geração de Texto

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

David Cecchini

Data Scientist

Semelhante a um modelo de classificação

O modelo de geração de texto:

  • Usa o vocabulário como classes
  • A última camada aplica softmax com unidades do tamanho do vocabulário
  • Usa categorical_crossentropy como função de perda
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Modelo de exemplo usando keras

model = Sequential()

model.add(LSTM(units, input_shape=(chars_window, n_vocab), dropout=0.15, recurrent_dropout=0.15, return_sequences=True))
model.add(LSTM(units, dropout=dropout, recurrent_dropout=0.15, return_sequences=False))
model.add(Dense(n_vocab, activation='softmax'))
model.compile(loss='categorical_crossentropy', optimizer='adam')
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Mas não é exatamente classificação

Diferença para classificação:

  • Calcula a perda, mas não métricas de desempenho (acurácia)
    • Pessoas avaliam os resultados visualmente.
    • Se não estiver bom, treine mais épocas ou aumente a complexidade (mais células de memória, mais camadas etc.).
  • Usado com regras de geração conforme a tarefa
    • Gerar próximo caractere
    • Gerar uma palavra
    • Gerar uma frase
    • Gerar um parágrafo
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Outras aplicações

  • Criação de nomes
    • Nomes de bebês
    • Novos nomes de estrelas, etc.
  • Gerar texto marcado
    • LaTeX
    • Markdown
    • XML, etc.
    • Código de programação
  • Artigos de notícias
  • Chatbots
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Preparação dos dados

Mostra o processo de preparação de dados para geração de texto. Transforma o texto em sequência de números e divide o conjunto de treino em X e Y, mantendo sequências de comprimento fixo em X e o próximo caractere em Y.

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Vamos praticar!

Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Preparing Video For Download...