LSTMs के साथ टेक्स्ट प्रेडिक्शन
आने वाले अभ्यासों में आप एक छोटा सा LSTM मॉडल बनाएँगे जो एक छोटे टेक्स्ट डेटासेट से अगला शब्द प्रेडिक्ट कर सके.
यह डेटासेट The Lord of the Ring फिल्मों के साफ़ किए गए कोट्स से बना है. ये आपको text वैरिएबल में मिलेंगे.
आप इस text को लंबाई 4 के sequences में बदलेंगे और अपने मॉडल के लिए फीचर्स और लेबल तैयार करने के लिए Keras Tokenizer का उपयोग करेंगे!
Keras Tokenizer पहले से इम्पोर्ट किया गया है. यह हर यूनिक शब्द को एक यूनिक नंबर असाइन करता है और इन मैपिंग्स को एक डिक्शनरी में स्टोर करता है. यह ज़रूरी है क्योंकि मॉडल नंबरों पर काम करता है, लेकिन बाद में हमें आउटपुट नंबरों को वापस शब्दों में डिकोड करना होगा.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Keras के साथ डीप लर्निंग परिचय
अभ्यास निर्देश
.split()का उपयोग करके टेक्स्ट को शब्दों की एक array में बाँटिए.- 4-4 शब्दों के वाक्य बनाएँ, हर बार एक शब्द आगे बढ़ते हुए.
Tokenizer()को इंस्टैंशिएट करें, फिर.fit_on_texts()के साथ उसे वाक्यों पर फिट करें..texts_to_sequences()कॉल करकेsentencesको नंबरों की सीक्वेंस में बदल दें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Split text into an array of words
words = ____.____
# Make sentences of 4 words each, moving one word at a time
sentences = []
for i in range(4, len(words)):
sentences.append(' '.join(words[i-____:i]))
# Instantiate a Tokenizer, then fit it on the sentences
tokenizer = ____
tokenizer.____(____)
# Turn sentences into a sequence of numbers
sequences = tokenizer.____(____)
print("Sentences: \n {} \n Sequences: \n {}".format(sentences[:5],sequences[:5]))