भाग 2: टेक्स्ट का प्रीप्रोसेसिंग

Keras के साथ Machine Translation

Thushan Ganegedara

Data Scientist and Author

स्पेशल शुरुआती/अंत टोकन जोड़ना

वाक्य:

'les états-unis est parfois occupé en janvier , et il est parfois chaud en novembre .'

बन जाता है:

'sos les états-unis est parfois occupé en janvier , et il est parfois chaud en novembre . eos',

स्पेशल टोकन जोड़ने के बाद

  • sos - वाक्य/सीक्वेंस की शुरुआत
  • eos - वाक्य/सीक्वेंस का अंत
Keras के साथ Machine Translation

वाक्यों को पैड करना

  • रियल-वर्ल्ड डेटासेट में सभी वाक्यों में शब्दों की गिनती समान नहीं होती

  • pad_sequences इम्पोर्ट करना

from tensorflow.keras.preprocessing.sequence import pad_sequences
  • वाक्यों को सीक्वेंस में बदलना
sentences = [
  'new jersey is sometimes quiet during autumn .',
  'california is never rainy during july , but it is sometimes beautiful in february .'
]
seqs = en_tok.texts_to_sequences(sentences)
Keras के साथ Machine Translation

वाक्यों को पैड करना

preproc_text = pad_sequences(seqs, padding='post', truncating='post', maxlen=12)

for orig, padded in zip(seqs, preproc_text): print(orig, ' => ', padded)

पहले वाक्य के अंत में पाँच 0 पैड होते हैं:

#  'new jersey is sometimes quiet during autumn .',
[18, 20, 2, 10, 32, 5, 46]  =>  [18 20  2 10 32  5 46  0  0  0  0  0]

दूसरे वाक्य के अंत से एक शब्द ट्रंकैट होता है:

# 'california is never rainy during july , but it is sometimes beautiful in february .'
[21, 2, 11, 47, 5, 41, 7, 4, 2, 10, 30, 3, 38]  =>  [ 12 2 11 47  5 41  7  4  2 10 30  3]
  • Keras में, 0 कभी भी word ID के रूप में असाइन नहीं होता
Keras के साथ Machine Translation

वाक्यों को रिवर्स करने का लाभ

  • एन्कोडर और डिकोडर के बीच शुरुआती कनेक्शन मजबूत करने में मदद मिलती है

रिवर्स करने पर और बिना रिवर्स के दूरी

Keras के साथ Machine Translation

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

  • पैडेड सीक्वेंस बनाना और टाइम डाइमेंशन पर सीक्वेंस रिवर्स करना
    sentences = ["california is never rainy during july .",]
    seqs = en_tok.texts_to_sequences(sentences)
    pad_seq = preproc_text = pad_sequences(seqs, padding='post', truncating='post', maxlen=12)
    
[[21  2  9 25  5 27  0  0  0  0  0  0]]
Keras के साथ Machine Translation

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

pad_seq
[[21  2  9 25  5 27  0  0  0  0  0  0]]
pad_seq = pad_seq[:,::-1]
[[ 0  0  0  0  0  0 27  5 25  9  2 21]]
rev_sent = [en_tok.index_word[wid] for wid in pad_seq[0][-6:]] 
print('Sentence: ', sentences[0])
print('\tReversed: ',' '.join(rev_sent))
Sentence:  california is never rainy during july .
    Reversed:  july during rainy never is california
Keras के साथ Machine Translation

अभ्यास करते हैं!

Keras के साथ Machine Translation

Preparing Video For Download...