Předzpracování dat

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

David Cecchini

Data Scientist

Klasifikace textu

Využití klasifikace textu:

  • Automatická klasifikace zpráv
  • Třídění dokumentů pro firmy
  • Segmentace front zákaznické podpory
  • A mnoho dalšího!
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Změny oproti binární klasifikaci

Co se mění při přechodu z binární na vícetřídní klasifikaci:

  • Tvar výstupní proměnné y
  • Počet jednotek na výstupní vrstvě
  • Aktivační funkce na výstupní vrstvě
  • Ztrátová funkce
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Změny oproti binární klasifikaci

Tvar výstupní proměnné y:

  • One-hot kódování tříd
# Example: num_classes = 3
y[0] = [0, 1, 0]
y.shape = (N, num_classes)

Počet jednotek na výstupní vrstvě:

# Output layer
model.add(Dense(num_classes))
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Změny oproti binární klasifikaci

Rozdíl mezi čísly na přímce a v prostoru ilustrující použití one-hot kódování

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Změny oproti binární klasifikaci

Aktivační funkce na výstupní vrstvě:

  • softmax vrací pravděpodobnost každé třídy
# Output layer
model.add(Dense(num_classes, activation="softmax"))

Ztrátová funkce:

  • Místo binární se používá kategorická křížová entropie
# Compile the model
model.compile(loss='categorical_crossentropy')
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Příprava textových kategorií pro Keras

y = ["sports", "economy", "data_science", "sports", "finance"]
# Transform to pandas series object
y_series = pd.Series(y, dtype="category")

# Print the category codes print(y_series.cat.codes)
0    3
1    1
2    0
3    3
4    2
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Předzpracování y

from tensorflow.keras.utils import to_categorical

y = np.array([0, 1, 2]) # Change to categorical y_prep = to_categorical(y) print(y_prep)
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Lass uns üben!

Rekurentní neuronové sítě (RNN) pro jazykové modelování s Keras

Preparing Video For Download...