A função geradora de texto

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

David Cecchini

Data Scientist

Gerando frases

  • A frase é determinada pela pontuação, como . (ponto), ! (exclamação) ou ? (interrogação).

    • Esses sinais de pontuação precisam estar no vocabulário.
  • Há um token de frase, por exemplo, <SENT> e </SENT>, que marca início e fim da frase.

    • É preciso pré-processar os dados para inserir esses rótulos.
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Gerando frases

sentence = ''

# Loop until end of sentence while next_char != '.':
# Predict next char: Get pred array in position 0 pred = model.predict(X)[0]
char_index = np.argmax(pred)
next_char = index_to_char(char_index)
# Concatenate to sentence sentence = sentence + next_char
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Ajuste de probabilidade

Redimensione a distribuição de probabilidades.

  • Temperature: termo vindo da física
    • Valores baixos: deixam a predição mais confiante
    • Valor igual a um: sem ajuste
    • Valores altos: deixam a predição mais criativa
    • Hiperparâmetro: teste valores diferentes para ajustar ao seu objetivo
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras

Ajuste de probabilidade

def scale_softmax(softmax_pred, temperature=1.0):
    # Take the logarithm
    scaled_pred = np.log(softmax_pred) / temperature

# Re-apply the exponential scaled_pred = np.exp(scaled_pred)
# Build probability distribution scaled_pred = scaled_pred / np.sum(scaled_pred)
# Simulate multinomial scaled_pred = np.random.multinomial(1, scaled_pred, 1)
# Return simulated class return np.argmax(scaled_pred)
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...