शुरू करेंमुफ़्त में शुरू करें

बेहतर सेंटिमेंट क्लासिफिकेशन

इस अभ्यास में, आप Chapter 1 में देखी गई सेंटिमेंट क्लासिफिकेशन समस्या पर वापस जाएँगे.

आप मॉडल में और जटिलता जोड़ेंगे और उसकी accuracy में सुधार करेंगे. आप एक Embedding लेयर का उपयोग करेंगे ताकि training set पर शब्द-वेक्टर ट्रेन हों, और लंबे टेक्स्ट को ट्रैक करने के लिए दो LSTM लेयर्स जोड़ेंगे. साथ ही, आउटपुट से पहले एक अतिरिक्त Dense लेयर भी जोड़ेंगे.

यह अब एक साधारण मॉडल नहीं है, और training में समय लग सकता है. इसी कारण, एक pre-trained मॉडल उपलब्ध है, जिसके weights को keras.models.Sequential क्लास की .load_weights() मेथड से लोड किया जा सकता है. मॉडल को 10 epochs के साथ train किया गया था और उसके weights model_weights.h5 फाइल में उपलब्ध हैं.

पर्यावरण में निम्न मॉड्यूल लोड हैं: Sequential, Embedding, LSTM, Dropout, Dense.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Keras के साथ भाषा मॉडलिंग के लिए Recurrent Neural Networks (RNNs)

पाठ्यक्रम देखें

अभ्यास निर्देश

  • मॉडल की पहली लेयर के रूप में एक Embedding लेयर जोड़ें.
  • 64 units वाली दूसरी LSTM लेयर जोड़ें जो sequences return करे.
  • 16 units वाली एक अतिरिक्त Dense लेयर जोड़ें.
  • मॉडल को evaluate करें ताकि training set पर accuracy प्रिंट हो.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Build and compile the model
model = Sequential()
model.add(____(vocabulary_size, wordvec_dim, trainable=True, input_length=max_text_len))
model.add(____(64, return_sequences=____, dropout=0.2, recurrent_dropout=0.15))
model.add(LSTM(64, return_sequences=False, dropout=0.2, recurrent_dropout=0.15))
model.add(____(16))
model.add(Dropout(rate=0.25))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Load pre-trained weights
model.load_weights('model_weights.h5')

# Print the obtained loss and accuracy
print("Loss: {0}\nAccuracy: {1}".format(*model.____(X_test, y_test, verbose=0)))
कोड संपादित करें और चलाएँ