Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras
David Cecchini
Data Scientist
Aplicações de classificação de texto:
O que muda de binária para multiclasse:
yFormato da variável de saída y:
# Exemplo: num_classes = 3
y[0] = [0, 1, 0]
y.shape = (N, num_classes)
Número de unidades na camada de saída:
# Camada de saída
model.add(Dense(num_classes))

Função de ativação na camada de saída:
softmax fornece a probabilidade de cada classe# Camada de saída
model.add(Dense(num_classes, activation="softmax"))
Função de perda:
# Compilar o modelo
model.compile(loss='categorical_crossentropy')
y = ["sports", "economy", "data_science", "sports", "finance"] # Transformar em objeto Series do pandas y_series = pd.Series(y, dtype="category")# Imprimir os códigos das categorias print(y_series.cat.codes)
0 3
1 1
2 0
3 3
4 2
from tensorflow.keras.utils import to_categoricaly = np.array([0, 1, 2]) # Converter para categórico y_prep = to_categorical(y) print(y_prep)
[[1. 0. 0.]
[0. 1. 0.]
[0. 0. 1.]]
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras