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

वाक्यों को रिवर्स करना

यहाँ आप एन्कोडर मॉडल के लिए वाक्यों को रिवर्स करना सीखेंगे। जैसा कि चर्चा हुई थी, सोर्स वाक्यों को रिवर्स करने से एन्कोडर और डिकोडर के बीच शुरुआती कनेक्शन मज़बूत बनता है, जिससे मॉडल का प्रदर्शन बेहतर होता है। हालाँकि, हमेशा ध्यान रखें कि इसका लाभ उन दो भाषाओं पर निर्भर करता है जिनके बीच आप अनुवाद कर रहे हैं। जब तक दोनों में subject, verb और object का क्रम एक जैसा है, यह मॉडल के लिए फ़ायदेमंद रहेगा.

इस अभ्यास में आप sents2seqs() फंक्शन को ऐसे संशोधित करेंगे कि ज़रूरत होने पर वह वाक्यों को रिवर्स कर सके। यूज़र एक boolean कीवर्ड आर्ग्युमेंट reverse दे सकता/सकती है, जो टेक्स्ट रिवर्स करता है.

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

Keras के साथ Machine Translation

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

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

  • sents2seqs() फंक्शन सिग्नेचर लिखिए और एक नया कीवर्ड आर्ग्युमेंट reverse जोड़िए, जिसकी डिफ़ॉल्ट वैल्यू False हो.
  • रिटर्न किए गए sequence IDs को time dimension पर रिवर्स कीजिए ( ::-1 सिंटैक्स का उपयोग करते हुए ), ताकि पहला word ID आख़िरी बन जाए.
  • sents2seqs() को कॉल कीजिए और दिए गए sentences को रिवर्स कीजिए, और बाकी सभी डिफ़ॉल्ट पैरामीटर वैल्यूज़ अपरिवर्तित रखिए.

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

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

sentences = ["california is never rainy during july ."]
# Add new keyword parameter reverse which defaults to False
def ____(input_type, sentences, onehot=False, pad_type='post', ____=____):     
    encoded_text = en_tok.texts_to_sequences(sentences)
    preproc_text = pad_sequences(encoded_text, padding=pad_type, truncating='post', maxlen=en_len)
    if reverse:
      # Reverse the text using numpy axis reversing
      preproc_text = preproc_text[:, ____]
    if onehot:
        preproc_text = to_categorical(preproc_text, num_classes=en_vocab)
    return preproc_text
# Call sents2seqs to get the padded and reversed sequence of IDs
pad_seq = ____('source', ____, ____=____)
rev_sent = [en_tok.index_word[wid] for wid in pad_seq[0][-6:]] 
print('\tReversed: ',' '.join(rev_sent))
कोड संपादित करें और चलाएँ